使用了api的方式访问服务器的话,服务器是不是就不会帮维护session了

我使用的是版本比较老的laravel lumen 5.5,我创建了两个方法用于设置和获取session,获取时用的all();方法获取全部,但是我发现每次获取时_token都不相同,而且key也丢失了。可以看以下截图

使用了api的方式访问服务器的话,服务器是不是就不会帮维护session了

使用了api的方式访问服务器的话,服务器是不是就不会帮维护session了

我只有在设置值时put(‘key’, ‘value’),返回数据才会有key。
实际上我想使用session是因为我想实现一个功能,希望浏览器关闭时,会话也随之关闭,而session有个配置“expire_on_close=true”这样我就可以第一时间明白还剩下多少个session,可以继续为剩下的session提供服务。
如果session没法使用的话可能会考虑长链接的方式。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 4

api是无会话状态的,也就是前台没有保存你的session对应的cookies,除非你对于session和token 进行了关联处理,具体要看包的使用方法,和认证方式,对于你说的方法,我觉得可以参考这个逻辑,在全局判断接口请求状态,长时间没有请求后,标记该用户,即可完成

3天前 评论
rex123 (楼主) 3天前
莫须有 (作者) 3天前
rex123 (楼主) 3天前
莫须有 (作者) 3天前
lyxxxh

不懂你要做什么

提问的智慧
file

lemon 是什么?

_token 每次都不一样是正常的,因为 csrf 中间件会每次更换 _token

file
这当然的啊

为什么要知道多少个 session? 是要知道当前在线人数吗?

3天前 评论
rex123 (楼主) 2天前
lyxxxh (作者) 1天前
xylp

可以在api公参数里面设置加密过session参数,然后请求到服务器之后再解密,session存数据库即可

2天前 评论

Api 本身就是不需要 Session 的,如果你确定需要,可以使用 web 中间件组,或者在 api 中间件组中加入 StartSession 中间件,不过显然是不合理的。

1天前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!