久久影视免费看国产电影久久_亚洲色中文字幕无码av成人_亚洲色大成网站WWW在线_欧美日韩精品久久久久久_国内精品一区二区三区主播_chinese猛男帅哥gay自慰gv网站_成人午夜激情免费_无码少妇AV大学毛片大学生免费播放_国产污污网站在线观看国产_日韩中文字幕一级黄片

java Web開發(fā)完全跨域的SSO單點(diǎn)登錄系統(tǒng)實(shí)例

來源:深圳牛娃教育

java Web開發(fā)完全跨域的SSO單點(diǎn)登錄系統(tǒng)實(shí)例

單點(diǎn)登錄的過程:認(rèn)證系統(tǒng)根據(jù)用戶在瀏覽器中輸入的登錄信息,進(jìn)行身份認(rèn)證,如果認(rèn)證通過,返回給瀏覽器一個(gè)證明[認(rèn)證系統(tǒng)_ticket];這時(shí)再通過瀏覽器將[認(rèn)證系統(tǒng)_ticket]發(fā)送到到應(yīng)用系統(tǒng)1的設(shè)置cookie的url,應(yīng)用系統(tǒng)1返回給瀏覽器一個(gè)證明[應(yīng)用系統(tǒng)1_ticket],這時(shí)再將請(qǐng)求重定向到最初訪問的頁面,以后應(yīng)用系統(tǒng)1就可以自動(dòng)登錄了。現(xiàn)在用戶訪問了應(yīng)用系統(tǒng)2,由于應(yīng)用系統(tǒng)2沒有生成過cookie(但是用戶已經(jīng)在應(yīng)用系統(tǒng)1登錄過一次了),將請(qǐng)求重定向到認(rèn)證系統(tǒng);認(rèn)證系統(tǒng)檢測到已經(jīng)生成過[認(rèn)證系統(tǒng)_ticket]了,認(rèn)證通過;再通過瀏覽器將[認(rèn)證系統(tǒng)_ticket]發(fā)送到到應(yīng)用系統(tǒng)2的設(shè)置cookie的url,應(yīng)用系統(tǒng)2返回給瀏覽器一個(gè)證明[應(yīng)用系統(tǒng)2_ticket],這時(shí)再將請(qǐng)求重定向到最初訪問的頁面。應(yīng)用系統(tǒng)3也同樣原理,我們等于將ticket做了一次同步,保證了每個(gè)應(yīng)用系統(tǒng)都有一份認(rèn)證系統(tǒng)產(chǎn)生的ticket。剩余的ticket驗(yàn)證過程和上篇文章一樣了。

域名準(zhǔn)備

   修改hosts文件,映射3個(gè)域名:

  1. 127.0.0.1 web1.com  
  2. 127.0.0.1 web2.com  
  3. 127.0.0.1 passport.com 

需要修改下WebSSODemo/WEB-INF/web.xml文件。關(guān)鍵配置信息如下:?


    SSOAuth
    com.ghsau.filter.SSOAuth
   
       
        SSOService
        http://passport.com:8080/WebSSOAuth/SSOAuth
   

   
       
        cookieName
        SSOID
   



    SSOAuth
    *.jsp



    SSOAuth
    /logout



    SSOAuth
    /setCookie

SSO使用

首先輸入第一個(gè)應(yīng)用系統(tǒng)的訪問地址,http://web1.com:8080/WebSSODemo/index.jsp,如果是第一次訪問的話,會(huì)自動(dòng)跳轉(zhuǎn)到登錄頁,如下圖:
系統(tǒng)中內(nèi)置了3個(gè)用戶,張三、李四、王五,用戶名和密碼皆為拼音全拼,輸入zhangsan/zhangsan登錄后,會(huì)自動(dòng)跳轉(zhuǎn)到我們剛才訪問的頁面,頁面中顯示了登錄的用戶名及歡迎信息,如下圖:

這時(shí),我們再輸入第二個(gè)應(yīng)用系統(tǒng)的訪問地址,http://web2.com:8080/WebSSODemo/index.jsp,我們發(fā)現(xiàn),沒有進(jìn)行第二次登錄,同樣頁面中顯示了登錄的用戶名及歡迎信息,如下圖:
我們接著點(diǎn)擊Logout注銷用戶,頁面跳轉(zhuǎn)到了登錄頁面,這時(shí)我們再回頭訪問第一個(gè)應(yīng)用系統(tǒng)的頁面,發(fā)現(xiàn)同樣跳轉(zhuǎn)到了登錄頁面。

?