通过配置修改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