談單一登入(Single Signon)

單一登入(single signon, SSO)是系統整合專案中經常使用的技術,其目的是當用戶進入系統時,免於再做一次輸入帳號和密碼的動作。

我曾經看過有廠商誤解SSO的意義,認為用戶只要使用一組帳號和密碼,就可以登入所有公司的系統(不過每當進入各個系統還是要做一次輸入帳號密碼的動作),這樣就是單一登入,其實這只能叫做單一帳號登入(single account signon),這種作法,用戶也許只要記得一組帳號,但是要重新輸入一次帳號密碼,對於用戶來說還是不太方便。

企業的資訊系統要做到SSO概念上並不難,不過實作起來確實不簡單。首先資訊基礎建設要有LDAP的建置(最常見的LDAP產品是Novell和Microsoft Active Directory),規劃LDAP作為企業各資訊系統的驗證與授權中心(註1),各個資訊系統到LDAP做驗證與授權。當然不見得非得用LDAP不可,我曾經看過某家金控公司,找了一家local廠商用VB+database做了一套授權系統,幾乎跟LDAP的作用一樣,據說專案成本比建置一套LDAP便宜,不過把database弄得像變型金剛一樣,大概也只有local廠商做的出來。

其次哪些資料(例如職位別、使用系統的權限、角色別等)要放到LDAP讓各個系統查詢,隱密性的資料能不能開放給各個系統查詢,角色別的規劃,這些資訊要從HR系統或哪裡來都要事先規劃好。另外,假如是跨國公司,可能在世界各地都有LDAP,這些LDAP是否也要做整合,也是需要規劃的地方。

註1:就系統角度而言,驗證(authentication)是指檢查這個user account的密碼是否正確,授權(authorization)是指當通過驗證後,要賦予這個user accoun哪些系統權限讓他可以使用。

相關文章

如何將電腦畫面經由 Chromecast 投放到電視螢幕上

Mac與Android裝置傳輸檔案的方法

Chrome 的檔案續傳功能

使用 Line Bot API 製作聊天機器人