Cookie對於web開發者而言真是一個小甜餅,因為它保留了用戶的登錄狀態。但是當登陸站點在不同域名時就會出現問題了。
在Cookie規范上說,一個cookie只能用於一個域名,不能夠發給其它的域名。因此,如果在瀏覽器中對一個域名設置了一個cookie,這個cookie對於其它的域名將無效。如果你想讓你的用戶從你的站點中的其中一個進行登錄,同時也可以在其它域名上進行登錄。
一、修改hosts文件,搭建環境
首先,在我的電腦找到hosts文件,路徑如下C:WindowsSystem32driversetc。
然后,用記事本打開hosts文件,添加你想測試的域名2個。
如a.test.com 和b.test.com。
這樣,我們本地瀏覽器訪問a.test.com和b.test.com,都會將訪問地址指向本地。
二、COOKIE操作類實現
CookieUtil實現了對cookie基本操作:
首先:添加cookie。
然后:刪除cookie。
三、在登陸控制層,當登陸成功,創建cookie
注意:此處要在兩個web項目中都要實現,一樣的代碼即可。
四、在登陸跳轉時,首先檢測session存在否,然后檢測cookie存在否
首先:檢測session存在,如存在說明本系統登錄過,直接跳轉到系統內部。
然后:檢測cookie存在,如存在cookie,取得cookie中的用戶信息,在后台實現登陸操作即可。
String cookie_login = CookieUtil.getValue(request,Constant.COOKIE_LOGIN);//獲取cookie中的登錄名
String cookie_pwd = CookieUtil.getValue(request,Constant.COOKIE_PWD);//獲取cookie中的密碼
最后,在tomcat中將兩個域名和兩個項目對應綁定即可。
注意:cookie要實現加密。否則被人竊取就不好了。