色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Single Sign-On(SSO)單點登陸的具體實現方案

  我們都知道網易、搜狐等大型門戶都有“通行證”的概念,這個通行證系統就是今天討論的“單點登錄系統”。其主要特征是多個站點一個用戶中心,一點登陸后其他也自動登錄,注銷也是。比如我們在126登錄了郵箱,再去163.com就是登陸狀態。我這里的實現方案是傳統的cookie方案。希望此文對需要的朋友有用,也希望不足之處大家能夠提出。
  SSO的基本功能:
  統一登錄
  所有站點的登錄都要跳轉至SSO來登錄,同時附帶剛剛請求的url參數,以便登陸后返回。
  例如  http://sso.a.com/login?url=http://www.b.com ,登錄之后,我們Response一個cookie,并且將其domain設為 a.com頂級域,這樣只要是同域的站點都可以直接訪問到這個cookie。

  由于cookie不能跨域,所以這里要解決不同域下的cookie問題。解決辦法就是通過JS API來獲取a.com的cookie信息,并通過url傳遞個b.com。
  我們知道ajax是不能跨域訪問的,但是我們可以<script>一個跨域的JS(這就是JSAPI),所以SSO系統需要提供一個callback參數,輸出為一段js代碼。

  SSO輸出cookie給調用者,接受callback參數

 

 var user = Request.Cookies["Username"]; var callback = Request.QueryString["callback"]; if(user!=null)        Response.Write(callback+"("+user.ToJson()+")");//ToJson是一個擴展方法,將對象序列化為Json格式

it知識庫Single Sign-On(SSO)單點登陸的具體實現方案,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 平舆县| 稻城县| 宜宾市| 盐津县| 东乡| 旌德县| 潍坊市| 茌平县| 军事| 萨嘎县| 孟村| 仪陇县| 温州市| 宝鸡市| 东台市| 广西| 杭州市| 武冈市| 涪陵区| 洱源县| 东丰县| 都兰县| 广东省| 湄潭县| 旺苍县| 濮阳县| 萍乡市| 洞头县| 金平| 永定县| 会宁县| 堆龙德庆县| 南皮县| 库伦旗| 井研县| 同仁县| 华池县| 中阳县| 镶黄旗| 和林格尔县| 仪征市|