1. 程式人生 > >SSO單點登入和單點退出(跨頂級域名)

SSO單點登入和單點退出(跨頂級域名)

在網上搜索了很多資料,都沒有真正解決問題,還得自己想辦法。


單點登入:

當在SSO SERVER端(例:sso.a.com)登入成功後,再次訪問第二域名(例:www.b.com)時,通過調取sso server端的跨域登入,然後跳轉到b網站寫入cookie(這裡使用ajax json技術)

單點退出:

想了幾種方法,

首先按照單點登入的方法,通過jsonp使用時,不行,總是刪除不了b網站的cookie

然後直接呼叫b網站去執行刪除cookie也不行

最後,寫了個過濾器,設定一個退出狀態

1、所有退出都指向sso網站,退出時,寫入退出狀態

2、訪問B網站時,在過濾器中,通過httpclient呼叫sso server中的介面,取得退出狀態

3、根據退出狀態,判斷是否清除B網站下的cookie值,是的話,清除。

4、注意,在登入時,要寫退出狀態為否。

解決問題,比較粗糙,不過後續不斷改進吧。