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

2022/3/28 6:24:14

本文主要是介绍通过配置修改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属性目前测试了,但还没有达到我想要的结果,后续完善;



这篇关于通过配置修改springsecurity中cookie生效方式(domain + path + secure + samesite)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程