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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java跨域cookie共享_cookie跨域共享 - qijian0503的个人空间 - OSCHINA - 中文开源技术交流社区...

發布時間:2023/12/20 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java跨域cookie共享_cookie跨域共享 - qijian0503的个人空间 - OSCHINA - 中文开源技术交流社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述

需要解決前端pc跟服務端(java),跨域后都能獲取到同一個cookie。

使用二級域名共享cookie有一個限制條件,就是兩個域名的二級域名必須相同

前端pc訪問域名:a.b.com

后端接口域名:a-gateway.b.com

這兩個域名同屬一個二級域名:b.com

跨域訪問

服務器nginx增加以下配置,即可解決跨域訪問的問題。也可以在程序中通過代碼解決跨域訪問。

nginx配置文件

location / {

#是否允許跨域發送Cookie

add_header Access-Control-Allow-Credentials true;

add_header Access-Control-Allow-Origin 'http://a.b.com';

add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';

add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

if ($request_method = 'OPTIONS') {

return 204;

}

}

跨域攜帶發送cookie

如果需要允許跨域攜帶發送cookie的話,nignx則需要以下參數配置

nginx配置

"Access-Control-Allow-Credentials":可選字段。它的值是一個布爾值,表示是否允許發送Cookie。默認情況下,Cookie不包括在CORS請求之中。設為true,即表示服務器明確許可,Cookie可以包含在請求中,一起發給服務器。這個值也只能設為true,如果服務器不要瀏覽器發送Cookie,刪除該字段即可。

對于附帶身份憑證的請求,服務器不得設置 Access-Control-Allow-Origin 的值為'*'。這是因為請求的首部中攜帶了Cookie信息,如果 Access-Control-Allow-Origin 的值為'*',請求將會失敗。而將 Access-Control-Allow-Origin 的值設置為 http://a.b.com,則請求將成功執行。也就是說Access-Control-Allow-Credentials設置為true的情況下 Access-Control-Allow-Origin不能設置為*。

前端配置

以vue請求為例:

import axios from 'axios';

axios.defaults.withCredentials=true //允許攜帶cookie

java設置cookie

public static void addCookie(HttpServletResponse response,String cookieName,String cookieValue,int maxAge){

Cookie cookie =new Cookie(cookieName,cookieValue);

cookie.setDomain("b.com");//指定域名

cookie.setPath("/");//設置cookie的生命周期

cookie.setHttpOnly(false);

if(maxAge>0){

cookie.setMaxAge(maxAge);

}

response.addCookie(cookie);

}

總結

以上是生活随笔為你收集整理的java跨域cookie共享_cookie跨域共享 - qijian0503的个人空间 - OSCHINA - 中文开源技术交流社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。