使用cookie的兩個屬性
-
domain-域
通過設置這個屬性可以使多個web服務器共享cookie。domain屬性的默認值是創建cookie的服務器的主機名。不能將一個cookie的域設置成服務器所在的域之外的域。
舉個例子:
-
path-路徑
表示創建該cookie的服務器的哪些路徑下的文件有權限讀取該 cookie,默認為/,就是創建該cookie的服務器的根目錄。
具體實現
A機host設置如下:
127.0.0.1 sso.taotao.com
172.16.30.123 portal.taotao.com
B機host設置如下:
127.0.0.1 portal.taotao.com
172.16.30.123 sso.taotao.com
同時開啟兩台服務器,sso為單點登錄系統,portal為門戶系統,portal首頁點擊登錄按鈕,可連接到sso系統的登錄模塊,登錄成功后,sso系統設置cookie屬性如下:
token="0821A9439FE4466395A2F4086538AEB4" Cookie cookie = new Cookie("TT_TOKEN", token); cookie.setPath("/"); cookie.setDomain("taotao.com"); response.addCookie(cookie);
此時portal服務器所在機器的瀏覽器得到響應信息如下 :
瀏覽器會根據cookie的domain屬性進行判斷訪問哪個域會攜帶這個cookie,因為com.taotao.portal屬於taotao.com的子域,所以在這個瀏覽器上訪問portal.taotao.com服務器下的所有路徑都會攜帶這個cookie 。