单点登录总结(域名内与跨域名)
生活随笔
收集整理的這篇文章主要介紹了
单点登录总结(域名内与跨域名)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
多系統(tǒng)情況下經(jīng)常需要進(jìn)行單點(diǎn)登錄,分為: 1、域名內(nèi)系統(tǒng)間的單點(diǎn)登錄 域名內(nèi)指一級域名一致。由于cookie會共享,所以登錄ID存到cookie中,各系統(tǒng)可從cookie中直接取到登錄ID。 通過賬戶子系統(tǒng)登錄后,會生成一個(gè)登錄ID(綁定userId),這時(shí)可以將登錄用戶信息加密存到cooike中,或者存到redis中(可模擬HttpSession類編寫session對象從redis中的存儲與讀取),賬戶子系統(tǒng)也可以開放出接口供其它子系統(tǒng)調(diào)用登錄用戶信息。
2、跨域名系統(tǒng)間的單點(diǎn)登錄 跨域名由于無法共享cookie,所以系統(tǒng)間需要做交互。 比如系統(tǒng)A登錄進(jìn)去后,也讓系統(tǒng)B也自動登錄。系統(tǒng)A傳遞登錄用戶ID,調(diào)用系統(tǒng)B的接口獲取一個(gè)token。然后鏈接系統(tǒng)B的頁面時(shí)自動帶上這個(gè)token。這種方式由于采用http get形式比較容易暴露參數(shù),雖然token會有時(shí)效性,但是還是不太安全。更好安全些的話,可以采用加載script方式:系統(tǒng)A請求系統(tǒng)B獲取token,系統(tǒng)B提供一串URL,由系統(tǒng)A主頁中加載<script>中,系統(tǒng)B做校驗(yàn)認(rèn)證成功后生成系統(tǒng)B的cookie。然后就可以跳轉(zhuǎn)系統(tǒng)B的其它功能頁面。
2、跨域名系統(tǒng)間的單點(diǎn)登錄 跨域名由于無法共享cookie,所以系統(tǒng)間需要做交互。 比如系統(tǒng)A登錄進(jìn)去后,也讓系統(tǒng)B也自動登錄。系統(tǒng)A傳遞登錄用戶ID,調(diào)用系統(tǒng)B的接口獲取一個(gè)token。然后鏈接系統(tǒng)B的頁面時(shí)自動帶上這個(gè)token。這種方式由于采用http get形式比較容易暴露參數(shù),雖然token會有時(shí)效性,但是還是不太安全。更好安全些的話,可以采用加載script方式:系統(tǒng)A請求系統(tǒng)B獲取token,系統(tǒng)B提供一串URL,由系統(tǒng)A主頁中加載<script>中,系統(tǒng)B做校驗(yàn)認(rèn)證成功后生成系統(tǒng)B的cookie。然后就可以跳轉(zhuǎn)系統(tǒng)B的其它功能頁面。
總結(jié)
以上是生活随笔為你收集整理的单点登录总结(域名内与跨域名)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ①Windows Server 8基于远
- 下一篇: 我在美国与“狼”共舞的日子(7)