日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

分布式项目 cookie共享方案

發(fā)布時(shí)間:2024/4/17 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式项目 cookie共享方案 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

方案1.手動(dòng)設(shè)置Cookie的Domain和Path(適用于同域或同IP的多項(xiàng)目 或 同NGINX代理的多個(gè)項(xiàng)目)

首先要了解Cookie作用域,這里就用到了cookie的兩個(gè)屬性 domain,path。當(dāng)請(qǐng)求與cookie的域名相同且作用路徑相同的時(shí)候,瀏覽器才會(huì)攜帶cookie才可以實(shí)現(xiàn)cookie共享。domain 這個(gè)屬性可以設(shè)置cookie的作用域名,path可以設(shè)置cookie的作用路徑。cookie丟失時(shí)考慮其域名,路徑,有效期,是否和當(dāng)前請(qǐng)求匹配

現(xiàn)在有A,B兩個(gè)項(xiàng)目,我希望在a項(xiàng)目登錄后在b也能保持登錄狀態(tài)就需要把用戶信息存入cookie,那這時(shí)候b就要獲取a的cookie,首先項(xiàng)目域分別是a.test.com和b.test.com沒有(域名是要給domain賦值用的)所以沒有域名的話去修改下host文件把 a.test.com [a項(xiàng)目ip],b.test.com [b項(xiàng)目ip]

//登錄后把用戶信息寫入cookie,我這里是存進(jìn)去一個(gè)token值這里就當(dāng)做token=user1Cookie user_cookie = new Cookie("token","user1");//設(shè)置cookie的domain這里注意寫的是主域名//(a.test.com,b.test.com的主域名就是.test.com。若有NGINX代理,則可以設(shè)置為NGINX的域名)//寫入這個(gè)參數(shù)之后所有主域名為.test.com的項(xiàng)目都可以調(diào)用這個(gè)cookieuser_cookie.setDomain(".test.com"); //IP也可以//設(shè)置cookie的path?//path這里直接寫 / 表示所有路徑都可以訪問user_cookie.setPath("/");//過期時(shí)間s (默認(rèn)是-1 關(guān)閉瀏覽器失效) user_cookie.setMaxAge(60*60);//HttpServletResponse 返回cookie response.addCookie(user_cookie);


這個(gè)時(shí)候去瀏覽器查看你的cookie你會(huì)發(fā)現(xiàn)展示的domain和path都是你設(shè)置的了。就這樣就可以實(shí)現(xiàn)cookie共享了
這個(gè)方法簡(jiǎn)單但是有一個(gè)弊端 就是你的項(xiàng)目必須是同一個(gè)主域名才可以。

或是Nginx作為主域名代理,欺騙瀏覽器攜帶cookie,nginx再轉(zhuǎn)發(fā)給后端各個(gè)項(xiàng)目。但是無法保證第三方JAR中都這樣設(shè)置Cookie。
經(jīng)測(cè)試SESSIONID的路徑默認(rèn)就是"/",只要域名相同全路徑攜帶,可以直接共享

轉(zhuǎn)載于:https://www.cnblogs.com/sw008/p/11054301.html

總結(jié)

以上是生活随笔為你收集整理的分布式项目 cookie共享方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。