關於sso,關於單點登入

2021-08-31 10:32:55 字數 1515 閱讀 4985

sso英文全稱single sign on,單點登入。sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登入對映到其他應用中用於同乙個使用者的登入的機制。它是目前比較流行的企業業務整合的解決方案之一。

sso技術實現機制

當使用者第一次訪問應用系統1的時候,因為還沒有登入,會被引導到認證系統中進行登入;根據使用者提供的登入資訊,認證系統進行身份效驗,如果通過效驗,應該返回給使用者乙個認證的憑據--ticket;使用者再訪問別的應用的時候就會將這個ticket帶上,作為自己認證的憑據,應用系統接受到請求之後會把ticket送到認證系統進行效驗,檢查ticket的合法性。如果通過效驗,使用者就可以在不用再次登入的情況下訪問應用系統2和應用系統3了。

要實現sso,需要以下主要的功能:

1、所有應用系統共享乙個身份認證系統。

統一的認證系統是sso的前提之一。認證系統的主要功能是將使用者的登入資訊和使用者資訊庫相比較,對使用者進行登入認證;認證成功後,認證系統應該生成統一的認證標誌(ticket),返還給使用者。另外,認證系統還應該對ticket進行效驗,判斷其有效性。

2、所有應用系統能夠識別和提取ticket資訊

要實現sso的功能,讓使用者只登入一次,就必須讓應用系統能夠識別已經登入過的使用者。應用系統應該能對ticket進行識別和提取,通過與認證系統的通訊,能自動判斷當前使用者是否登入過,從而完成單點登入的功能。

另外:1、單一的使用者資訊資料庫並不是必須的,有許多系統不能將所有的使用者資訊都集中儲存,應該允許使用者資訊放置在不同的儲存中,如下圖所示。事實上,只要統一認證系統,統一ticket的產生和效驗,無論使用者資訊儲存在什麼地方,都能實現單點登入。

2、統一的認證系統並不是說只有單個的認證伺服器

認證伺服器之間要通過標準的通訊協議,互相交換認證資訊,就能完成更高階別的單點登入。如:當使用者在訪問應用系統1時,由第乙個認證伺服器進行認證後,得到由此伺服器產生的ticket。當他訪問應用系統2的時候,認證伺服器2能夠識別此ticket是由第乙個伺服器產生的,通過認證伺服器之間標準的通訊協議(例如saml)來交換認證資訊,仍然能夠完成sso的功能。

web-sso的實現

使用者在訪問頁面1的時候進行了登入,但是客戶端的每個請求都是單獨的連線,當客戶再次訪問頁面2的時候,如何才能告訴web伺服器,客戶剛才已經登入過了呢?瀏覽器和伺服器之間有約定:通過使用cookie技術來維護應用的狀態。cookie是可以被web伺服器設定的字串,並且可以儲存在瀏覽器中。當瀏覽器訪問了頁面1時,web伺服器設定了乙個cookie,並將這個cookie和頁面1一起返回給瀏覽器,瀏覽器接到cookie之後,就會儲存起來,在它訪問頁面2的時候會把這個cookie也帶上,web伺服器接到請求時也能讀出cookie的值,根據cookie值的內容就可以判斷和恢復一些使用者的資訊狀態。web-sso完全可以利用cookie結束來完成使用者登入資訊的儲存,將瀏覽器中的cookie和上文中的ticket結合起來,完成sso的功能。

為了完成乙個簡單的sso的功能,需要兩個部分的合作:

1、統一的身份認證服務。

2、修改web應用,使得每個應用都通過這個統一的認證服務來進行身份效驗。

關於sso,關於單點登入

關於sso,關於單點登入 sso英文全稱single sign on,單點登入。sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登入對映到其他應用中用於同乙個使用者的登入的機制。它是目前比較流行的企業業務整合的解決方案之一。sso技術實現機制 當...

SSO單點登入

單點登入sso single sign on 就是在多個系統共存的環境下,使用者在一處登入 就不用在其他系統中登入,也就是使用者的一次登入就可以得到其他所有系統的信任。要點 儲存信任 驗證信任 最簡單實現sso的方法就是cookie,實現流程 然而cookie有如下缺點 1 cookie不安全 2 ...

sso單點登入

一 什麼是單點登入sso single sign on sso是一種統一認證和授權機制,指訪問同一伺服器不同應用中的受保護資源的同一使用者,只需要登入一次,即通過乙個應用中的安全驗證後,再訪問其他應用中的受保護資源時,不再需要重新登入驗證。二 單點登入解決了什麼問題 解決了使用者只需要登入一次就可以...