通過配置修改springsecurity中cookie生效方式(domain + path + secure + samesite)


我們可以通過配置以下參數來修改默認cookie的生效方式;

在這里插入圖片描述

一、server.servlet.session.cookie.secure=true(只在訪問HTTPS中進行傳輸cookie)

測試:訪問:http://localhost:8080/admin/acl/user/getTitle/smile 需要認證后才可以訪問;登錄完成后有了cookie,照理說再次訪問http://localhost:8080/admin/acl/user/getiphone由於我這邊不是https所以不會攜帶cookie,需要重新認證;但是我這邊結果可以直接訪問???

解決cookie.secure=true失效的方法:這邊是因為localhost或者127.0.0.1;在本機的hosts文件中添加其他映射關系;
在這里插入圖片描述
再次測試:訪問http://pmh.smile.com:8080/admin/acl/user/getTitle/smile認證登錄成功,由於不是https請求,所以沒有攜帶cookie

2、server.servlet.session.cookie.domain=backend.smile.com;

測試:認證成功之后,可以看到可信域為backend.smile.com;
在這里插入圖片描述
訪問:http://back.smile.com:8080/admin/acl/user/getTitle/smile;發現不會攜帶上cookie,
訪問:http://end.backend.smile.com:8080/admin/acl/user/getTitle/smile;發現會攜帶上cookie,

3、server.servlet.session.cookie.path=/admin/acl/user/getiphone,只有在這個路徑下才會攜帶cookie;

測試:http://localhost:8080/admin/acl/user/getiphone認證登錄之后;有效路徑為/admin/acl/user/getiphone;
在這里插入圖片描述
訪問路徑下的http://localhost:8080/admin/acl/user/getiphone/abc會攜帶cookie可以直接訪問;
訪問http://localhost:8080/admin/acl/user/getTitle/smile不會攜帶cookie,所以需要重新登錄;

samesite屬性目前測試了,但還沒有達到我想要的結果,后續完善;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM