其他分享
首页 > 其他分享> > 通过配置修改springsecurity中cookie生效方式(domain + path + secure + samesite)

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

标签:domain,http,secure,admin,springsecurity,cookie,user,smile,acl
来源: https://www.cnblogs.com/java-pxq/p/16065328.html