單點登入(SSO)(原創)

2021-09-06 11:38:01 字數 1456 閱讀 1657

單點登入(single sign on),簡稱為 sso,是目前比較流行的企業業務整合的解決方案之一。sso的定義是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。

下面的sso是在同乙個頂級網域名稱下,多個子域。

1、sso需要乙個令牌,用來為每個站點作為身份憑證,一般令牌用 guid。

private string gettokenvalue()

private string gettokenvalue()

2、建乙個passport的站點,用來做登入驗證,登入成功以後,生成令牌,寫入cookie的token,並把使用者資訊和token儲存在快取中,緩可以用system.web.httpruntime.cache,也可以用memcache,通常用memcache,因為可以做分布式儲存。

寫入cookie:

存入快取:

/// /// 將使用者資訊儲存在快取中

///

///

private void insertcache(user user)

else

}

3、第2步是直接在pssport登入,如果是在其他站點登入,那麼就要先判斷是否已經登入,這時候可以先從cookie判斷是否存在token,如果存在,就去passport驗證是否對的token,這個怎麼驗證呢?可以用服務遠端判斷,一般用wcf,如果成功說明已經登入成功,就可以把使用者資訊儲存在session,用session比較安全,cookis一般用來儲存不是很隱密的資訊。如果驗證不正確,或者cookie並不存在token,那就需要跳到passport進行登入,然後再跳原站點。

實現**:

protected

override

void

onload(eventargs e)

else

else}}

base

.onload(e);

}

好了,單點登入的過程就是這樣了,但這是實現了單點登入,還有session並沒有共享,現在每個站點的session還不是同乙個sessionid。

SSO單點登入

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

sso單點登入

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

sso單點登入

1 sso single sign on 單點登入 解決了使用者只需要登入一次就可以訪問所有相互信任的應用系統,而不用重複登入,對使用者資訊進行統一管理。2 session共享 分布式中,為了提公升集群效能,我把使用者的session資訊儲存到redis中,key的格式例如 user session...