使用了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没法使用的话可能会考虑长链接的方式。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4

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

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

不懂你要做什么

提问的智慧
file

lemon 是什么?

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

file
这当然的啊

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

3年前 评论
rex123 (楼主) 3年前
lyxxxh (作者) 3年前
xylp

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

3年前 评论

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

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!