兩個SpringSecurity本地項目登錄衝突問題(Cookie不區分端口號)

問題產生

因爲最近要做資源認證服務器,就搞了兩個集成SpringSecurity的項目,在開啓了loginPage("/portal/login")後,登錄的時候發現了一個問題:8085端口的項目A和8080端口的項目B不可以同時登錄,A登錄了,B再登錄就會把A的登錄狀態刷新掉。

問題原因

經過一番研究,原因是session會在瀏覽器保存一個cookie用來識別session,看上去沒什麼問題,但是cookie是不區分端口號的,在同一個ip下cookie是共享的。
也就是說,我們本地項目都是localhost,域名相同,端口號不同。但他們都會共享一個cookie,導致兩個項目登錄所用的cookie會互相覆蓋。

解決方案

我們可以在hosts文件配置不同的域名,通過不同的域名來訪問我們的本地項目。如:

	127.0.0.1    www.qbq.com
	127.0.0.1    www.aaa.com

我們可以分別訪問www.qbq.com:8085,www.aaa.com:8080。這樣他們的cookie就不會發生衝突了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章