<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks

    在我寫了SSO的文章以后,有幾個網友希望我能提一提跨domain的SSO的實現方法。其實,它的實現方法有很多,如果不象JES Access Manager那樣要考慮性能和安全性的問題,我下面可以給出很簡單的解決方案。

    跨domain的SSO的主要難點在于瀏覽器如何設置不同domain的cookie。所有的cookie都有一個范圍,叫domain,如“.sun.com”。這個范圍規定了只有在訪問相同domain的時候,瀏覽器才會將此cookie帶上。因此,如果SSO服務的domain和Web應用的domain不相同的情況下,就算當前瀏覽器已經登錄過SSO的服務,Web應用的Agent(Filter)也不能知道。因為SSO服務給此瀏覽器設置的cookie是Domain A的,在訪問domain B的時候,這個cookie是不會帶去的。

    另外,在servlet的API中,在設置cookie的時候是可以選擇此cookie生效的domain--setDomain()方法。知道這個以后,請看下圖的解釋

    10c86bad976.jpg

    如上圖,我們只需要將SSO服務稍微改動就能完成跨domain的SSO的功能。

    讓我們一步步來看是如何實現的:通過步驟1、2,假設我們訪問過Domain A中的應用1,并且登錄了SSO,獲得了Domain A的cookie。步驟3在訪問Domain B的應用2的時候,顯然此Web應用2的Agent不會發現這個cookie,因為這是Domain B。

    步驟4,Web應用2的Agent給瀏覽器發出重新定向到SSO登錄頁面的指令(詳細過程和原理請閱讀文章本身)。步驟5,瀏覽器去訪問SSO的登錄頁面。到此為止,和原來的實現過程都沒有什么變化。

    但是,SSO在返回給瀏覽器登錄頁面之前,可以執行一個附加的操作,檢查一下當前請求是否帶有cookie。值得注意的是,在這次訪問當中,瀏覽器的確是將先前登錄成功的cookie帶來了,因為這是Domain A。在這個附加的操作中,我們可以去判斷這個cookie是否真的有效。

    如果這個cookie真的有效,這個附加的操作需要做的是給瀏覽器再設置一個cookie,cookie的名字和數值都和原來一樣,domain的范圍設置為"Domain B",并且讓瀏覽器重新定向到剛才的請求上(Web應用2的請求)。這個請求的URL可以從“goto”的參數中獲得(詳細過程和原理請閱讀文章本身)。

    瀏覽器再次訪問Web應用2的時候,它所希望的cookie就已經在了。

    從用戶的角度說,可能會發現瀏覽器有幾次閃動和交互,但這都是自動的。

    http://yuwang881.blog.sohu.com/3632369.html#comment



    posted on 2007-02-01 15:31 java_蟈蟈 閱讀(244) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 一级毛片在线播放免费| 久久久高清日本道免费观看| 97亚洲熟妇自偷自拍另类图片| 99久久精品国产亚洲| 成人性生交大片免费看中文| 毛片免费观看的视频在线| 久久亚洲中文字幕精品一区| 亚洲色图激情文学| 国产一精品一AV一免费| 免费人成网站在线高清| 亚洲人成免费网站| 免费A级毛片无码A∨中文字幕下载| 免费亚洲视频在线观看| 成人免费网站视频www| 免费精品人在线二线三线区别| 亚洲国产国产综合一区首页| 又粗又长又爽又长黄免费视频 | 性感美女视频免费网站午夜 | 久久亚洲私人国产精品vA| 精品熟女少妇av免费久久| 国产亚洲人成网站在线观看| 中国国语毛片免费观看视频| 免费a级毛片大学生免费观看| 日韩一区二区三区免费播放| 亚洲午夜久久久影院| 有色视频在线观看免费高清在线直播 | 亚洲精品综合在线影院| 日韩免费一级毛片| 亚洲一区精彩视频| 亚洲精品视频免费看| 91亚洲国产在人线播放午夜| 久久久久久国产精品免费免费| 免费毛片毛片网址| 免费国产成人高清视频网站| 三级黄色免费观看| 亚洲国产亚洲综合在线尤物| 亚洲成av人片天堂网老年人| 一区二区在线免费视频| 久久久久久亚洲精品成人| 日韩中文无码有码免费视频| 中国国产高清免费av片|