關於sso的認識

2021-09-28 08:01:40 字數 1067 閱讀 9910

sso:single sign on (單點登入)

解釋就是說:在多個應用系統中,只要等登入一次,就可以訪問其他的受信任的應用系統。

普通的登入認證機制:

在我們用瀏覽器訪問乙個應用時,填寫登入名和密碼,完成登入的驗證。這個時候我們這個登入的使用者的session中的標記登陸狀態就會變為yes(已登入),同時在瀏覽器中將這個使用者的資訊寫入到cookie中,這個cookie是這個使用者的唯一標識。

下次我們再訪問這個應用的時候,就會在請求中帶上這個cookie,服務端會根據這個cookie找到對應的session,通過session來判斷這個使用者是否登入。如果不做特殊配置,這個cookie的名字叫做jsessionid,值在服務端(server)是唯一的。

那麼我們如何解決這兩個問題呢?針對第乙個問題,sso登入以後,可以將cookie的域設定為頂域,即.a.com,這樣所有子域的系統都可以訪問到頂域的cookie。我們在設定cookie時,只能設定頂域和自己的域,不能設定其他的域。比如:我們不能在自己的系統中給baidu.com的域設定cookie。

同域下的單點登入就實現了,但這還不是真正的單點登入

同域下的單點登入是巧用了cookie頂域的特性。如果是不同域呢?不同域之間cookie是不共享的,怎麼辦?

這裡我們就要說一說cas呢。

具體流程是:

tgt:ticket grangting ticket

tgt 是 cas 為使用者簽發的登入票據,擁有了 tgt,使用者就可以證明自己在 cas 成功登入過。tgt 封裝了 cookie 值以及此 cookie 值對應的使用者資訊。當 http 請求到來時,cas 以此 cookie 值(tgc)為 key 查詢快取中有無 tgt ,如果有的話,則相信使用者已登入過。

tgc:ticket granting cookie

cas server 生成tgt放入自己的 session 中,而 tgc 就是這個 session 的唯一標識(sessionid),以 cookie 形式放到瀏覽器端,是 cas server 用來明確使用者身份的憑證。

以上很多內容是參照的內容!!!

關於sso,關於單點登入

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

關於sso,關於單點登入

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

關於DDD的認識

引用自http www.jdon.com jivejdon forum messagelist.shtml?thread 32093 count 15 start 30 什麼是dao,repository?在repository情況下,dao其實是多餘的,repository可以完全替代dao。以j...