有个场景,多个后台系统需要在同一台脑上实现同一个用户在不同浏览器登录一次即可,需要怎么设计比较合理呢,有个前提条件是如果在其它电脑登录同一个用户会将之前已登录用户踢下线
1
shuibo 2019-06-06 11:32:07 +08:00
第一个问题 不同浏览器的实现数据共享 感觉无解 你可以试试找找
|
2
qq976739120 2019-06-06 11:38:53 +08:00
登录,登出,权限控制....真的是一个可以谈上一天一夜的问题啊...
|
3
wolfie 2019-06-06 11:48:11 +08:00
IP + MAC ?
|
4
slipkinem 2019-06-06 11:48:27 +08:00
sso 单点登录
|
5
claysec 2019-06-06 11:53:07 +08:00 via iPhone
JWT
|
6
Jirajine 2019-06-06 11:53:48 +08:00 via Android
独立 IP 控制。有 nat 的话无解。
|
7
littleylv 2019-06-06 11:55:31 +08:00
不同浏览器?这么奇葩的需求
|
8
flyingghost 2019-06-06 12:05:22 +08:00 1
不同浏览器是隔绝的。传统 sso 基于 cookie 直接没戏。
找同一台机器一定相同的因子,比如 IP。 如果是内网,域控做的好,每个机器 IP 基本上比较稳定,方案就可行。任一浏览器内登录后只需把 IP 和账号绑定就好了。 当然安全性就很糟糕了。 |
9
imycc 2019-06-06 12:05:51 +08:00 via iPhone
你看看市面上有哪个产品是跨浏览器共享登录的,至少我用的还没遇到过。
|
10
imp23333 2019-06-06 15:19:47 +08:00
不同浏览器真的骚
|
11
wind4 2019-06-06 15:42:25 +08:00 1
参考百度云盘和 QQ 设计一个本地服务来管理会话,网页登录时请求本地服务 http(s)://127.0.0.1:6001/session 来获取、更新会话。
|
12
wc951 2019-06-06 15:55:02 +08:00 via Android 1
我以前还真做过这种,写一个客户端程序控制登录登出,web 应用通过 jsonp 访问本地的一个端口拿到 token
|
13
kosmosr 2019-06-06 17:20:57 +08:00
放 redis
|
14
xuanbg 2019-06-06 18:04:23 +08:00
不同浏览器?不借助第三方程序根本没戏。这个第三方可以是一个本地文件、本地服务什么的。楼上有人说用 redis,真是异想天开。。。你根本不能保证自己的 key 不被别人使用
|
15
wastebaby OP |
16
index90 2019-06-06 22:08:20 +08:00 via iPhone
Windows ? AD 域
|
17
ggicci 2019-06-06 22:15:23 +08:00
不同浏览器?这么奇葩的需求 +1
|
18
Takamine 2019-06-06 23:49:06 +08:00 via Android
直接存 IP 吧。_(:з」∠)_
|
19
jugelizi 2019-06-07 00:07:18 +08:00
这年头什么人都能干产品
你们家有个 QQ 当我没说 |
20
metrxqin 2019-06-07 00:24:59 +08:00 via Android
我有个需求根据手机壳颜色更换主题。
|
21
way2create 2019-06-07 01:23:51 +08:00
记得之前哪里听过这个需求,当时的技术总监说如果都选择了基于浏览器来做,一般就不会有这种只允许一个端登陆的需求
|
22
fox0001 2019-06-07 14:15:48 +08:00 via Android
不同浏览器…项目经理都不敢这么玩
|
23
fox0001 2019-06-07 14:18:17 +08:00 via Android
考虑用手机扫二维码登录吧。至于踢用户,需要后端登录系统记录用户 session,把要踢的用户 session 清空即可
|
25
ivydom 2019-10-10 16:42:04 +08:00
楼主的需求可以用 sso 单点登录实现,目前市面上对开发者比较友好的的 sso 产品是 authing,可以直接在云上实现 sso。
sample*authing*cn (把 * 换成 . 即可) 可以在线体验,基本上五六行就可以实现。 主要原理是 JWT Token 和 OpenID Connect ( OIDC )。 |