色尼玛亚洲综合影院,亚洲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)單點登陸的具體實現方案,轉載需保留來源!

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

主站蜘蛛池模板: 桑日县| 罗山县| 梅河口市| 德钦县| 镇江市| 陇南市| 崇明县| 长宁区| 松原市| 温泉县| 庆云县| 吴桥县| 香格里拉县| 桦甸市| 正安县| 韶山市| 壤塘县| 沁源县| 云浮市| 湟源县| 吐鲁番市| 龙南县| 万盛区| 沐川县| 永寿县| 肇庆市| 东兴市| 怀宁县| 南皮县| 独山县| 太仓市| 黎城县| 四川省| 化德县| 贵州省| 六盘水市| 芜湖县| 随州市| 白银市| 利津县| 黄龙县|