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

本文介绍了如何通过配置SpringSecurity来修改cookie的安全属性,包括secure属性确保HTTPS传输,domain属性设置cookie生效的域名,以及path属性限定cookie的路径。在测试过程中,详细阐述了不同设置对cookie携带和验证的影响。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值