客户端访问后台每次请求sessionId不同的两种不同处理方式

当客户端访问后台时,由于各种原因可能导致每次请求的sessionID不同。本文介绍了两种解决方案:1. 对于微信小程序,可在后端验证sessionID成功后返回给前端,前端更新cookie并重发请求;2. 对于无法直接编辑请求头的白鹭引擎,可以通过设置withCredentials为true,利用跨站访问控制中的认证信息处理sessionID。
摘要由CSDN通过智能技术生成

许多框架在封装的时候由于各种安全等原因,导致使用自身的封装请求时每次都是使用新的会话,导致每次的sessionid都不同。
解决方法:

1.如微信小程序

可以直接修改 header.cookie = ‘SESSION=’ + sessionId cookie里面的数据时可以考虑在后端校验成功后将当次的sessionid返回到页面,页面再修改cookie进行下一次请求,如果过期了,再调用后台登录方法,重新执行上一步,然后重发请求即可。如我文章
公众号基础的小程序搭建中说明。

2.如我使用过的白鹭引擎(无法直接编辑 请求中的header.cookie)

用到过的人都知道,自带的请求不能直接编辑cookie或者在请求中附带set-cookie等关键字。修改sessionid到其中是不行的(=-= 尝试过N次失败的经历),就可以使用如白鹭请求的request.withCredentials = true 【表明在进行跨站(cross-site)的访问控制(Access-Control)请求时,使用认证信息(例如cookie或授权的header)】然后在后端修改过滤器/或者未被过滤器拦截的接口,加上:

response.setHeader
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值