求教个前端登录功能实现思路

2023-01-31 19:01:28 +08:00
 iapplebear

产品提了个奇葩需求,暂时没好的解决方案求助下大家。 官网:a.xxx.com ,控制台:a-admin.xxx.com 。需要在官网登录后控制台也保持登录状态(这块以前种 cookie 能实现),现在产品的需求是官网或控制台页面(都是 React 单页面,前提都是登录状态),关闭浏览器算退出登录,同时关闭官网和控制台 2 个 tab 也算退出登录,但是只要官网和控制台有一个 tab 在就算登录状态,有点麻了。。

2424 次点击
所在节点    程序员
25 条回复
hoythan
2023-02-01 13:48:10 +08:00
同时关闭官网和控制台 2 个 tab 也算退出登录

这需求本来就是不合理的啊。。。。那我如果只有一个 a 页面,点击以后重定向到 b 页面,这时候对 a 来说 tab 已经算关闭了,那 b 页面就应该是退出登录的状态吧?
hoythan
2023-02-01 13:48:50 +08:00
Cookie 方案是无解的,解决不了 “同时关闭官网和控制台 2 个 tab 也算退出登录”,
只能解决关闭浏览器算退出。
starerlloll
2023-02-01 14:19:27 +08:00
长连接吧, 后台维持一个 session 的池。
问题主要在于能检测到浏览器或者 tab 的关闭。。。其他的反而不复杂。。。
dudubaba
2023-02-01 14:54:51 +08:00
官网和控制台分别发送心跳,用唯一 key 区分,两者都超过心跳时间退出登录,否则保持登录状态
15hop
2023-02-01 17:39:23 +08:00
@MuscleOf2016 session cookie 方案在 tab 关闭的情况下 cookie 依然存在,需要关闭浏览器才会把 cookie 销毁,不满足楼主说的场景

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/912023

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX