我们公司的多点登录一直没实现,今天早上公司的 JAVA 找我说,让我前端来实现用户的多点登录,只要把 sessionID 和 token 存下来就行了,我特么喵也是醉了,是我技术水平不够么?我怎么有点懵逼呢?用户多点登录居然让前端来做??
101
Klingon 2019-02-22 12:40:26 +08:00
多点登录,意思是好几个地方都得挨个登录
|
102
xuxueli 2019-02-22 12:44:57 +08:00 via Android
|
103
Klingon 2019-02-22 12:46:11 +08:00
“我们想做的是多标签页,支持多用户登录”
楼主实现了之后,指点我一下 |
104
fleam 2019-02-22 12:49:09 +08:00 via Android
有一种不靠谱的感觉呢。。。
|
105
wolfie 2019-02-22 12:55:52 +08:00
|
106
fuxkcsdn 2019-02-22 12:57:30 +08:00 via iPhone
多标签多用户登陆确实应该前端做啊
你前端要告诉后端当前标签是哪个用户,在后端当做是不同浏览器的不同用户登陆就得了,后端完全不需要做任何改动 |
107
wolfie 2019-02-22 12:57:30 +08:00
@passerbytiny #92
建议你说话前,先搞懂上下文。 |
108
xxooxxooxxoxoxox 2019-02-22 13:05:26 +08:00
楼上一堆半桶水程序员,正解的反而被喷了。。。
|
109
laoyur 2019-02-22 13:06:07 +08:00
多标签页不同用户登录
---- 需求有点骚啊 |
110
passerbytiny 2019-02-22 13:13:13 +08:00
|
111
wly19960911 2019-02-22 13:22:16 +08:00
这产品太骚了,不同标签页不同用户,要那么多用户干什么。免登录切换都可以
|
112
mamahaha 2019-02-22 13:38:46 +08:00
好多人不理解多点登陆是啥玩,包括我。我就不去搜了,大胆猜测一下,多点登录就是在多个终端上同时登陆进入一个账号,但是这个需要做啥?
|
113
shyangs 2019-02-22 14:06:45 +08:00
Single Sign On 單一登入
|
114
ShotaconXD 2019-02-22 14:31:46 +08:00
楼主应该是想说单点登录吧...
看上面一直在分析多点登录. 一句话需求做多了吗... 不问清楚就开始头脑风暴 |
115
gamexg 2019-02-22 14:31:47 +08:00
多用户参考 google 的实现吧。
需要根据具体业务来确定,单页前后端分离应用如果 api 设计够好()的确可以做到完全由前端搞定。 比较推荐的还是 url 里面携带当前用户 id 用来解决新标签页打开链接丢失当前用户的问题。 |
116
jingyulong 2019-02-22 14:59:35 +08:00
好多人没搞懂,我来解释一下:同一个设备里面,多个账号登陆。同理,一个浏览器里面,开多个标签,对应多个用户,登陆同一个系统。相当于开多个隐私窗口。
杠精不要再杠楼主了,只能说这个需求有点小众。 日常生活中,这个需求也是存在的,比如微信多开,游戏多开。 |
117
wolfie 2019-02-22 15:03:50 +08:00
@passerbytiny #110
session_id != jessionid,说话请过脑。 |
118
passerbytiny 2019-02-22 15:07:54 +08:00
@wolfie #116 接口 != 实现,你说这想表达啥意思
|
119
just1 2019-02-22 15:08:08 +08:00
所以后端说的不是没错吗...........
|
120
liuzhen 2019-02-22 15:08:11 +08:00
原来这么多 V2 大神搞不懂单点登录是什么.
楼主要多个标签页分别登录不同账户,登录后肯定是要前端来区分哪个标签页用哪个 token/cookie,后端怎么可能管你标签页的事情 |
121
wolfie 2019-02-22 15:09:24 +08:00
@passerbytiny #118
搞得好像全世界只有你自己才知道会话是什么意思,你看懂人家后端要 session_id 是干嘛的? |
122
no1xsyzy 2019-02-22 15:20:29 +08:00
多标签页不同用户登录……
这需求不如单标签页多用户登录简单 一个 session 对多个 token 就行了吧,大不了自己维护 token |
123
shenyuzhi 2019-02-22 15:23:12 +08:00
没有 server 的配合,是不可能单点登录,不然就是浏览器的严重的安全问题了。
|
124
shenyuzhi 2019-02-22 15:25:07 +08:00
好吧,没看清楚,说的是单设备多用户。
这个可以参考下 Gmail。 |
125
donnior 2019-02-22 15:29:27 +08:00
10 年后端对什么是多点登录一脸懵逼。。。
|
126
xuanbg 2019-02-22 15:52:20 +08:00
SSO 肯定需要前端做的呀,光后端支持有个蛋用。。。
|
127
JKeita 2019-02-22 16:01:40 +08:00
后端说得没错。。。肯定要前端存 token,然后每次请求把 token 带上来判断是哪个用户
|
128
lrseee 2019-02-22 16:06:55 +08:00
多点登录?
|
129
NullWithMe 2019-02-22 16:12:11 +08:00
java 后端:不被这个锅 233333
|
130
laminux29 2019-02-22 16:14:11 +08:00
多标签登录多用户吗?实现很简单啊:
新开一个页面,按有无前页面传值,分为 2 种情况: 1.前页面无任何值传过来,则新页面按照无用户登录处理。 2.前页面如果传递用户 id 过来,则让后台把该 id 对应的用户数据找出来显示在前端页面上,然后让后台把该页面上的所有能打开新页面的地方(比如链接)都带上这个值来做后续的值传递,不就行了。 |
131
liuxey 2019-02-22 16:25:33 +08:00
你们吓得楼主不敢说话了,其实都是表达的问题,后端说给楼主听的时候没动听,楼主阐述的时候你们没听懂
|
132
brant777 2019-02-22 16:28:57 +08:00
多点登录 0.0....不做单点登录限制不就是多点登录吗?这应该是同终端多用户登录,要解决的应该是多用户登录后本地 token 被覆盖的问题
|
133
66beta 2019-02-22 16:45:27 +08:00 via Android
多标签页多用户,多开几个隐身模式不就行了,为什么还要特地开发
另外这个需求的背景是什么? |
134
passerbytiny 2019-02-22 16:56:19 +08:00
|
135
wolfie 2019-02-22 17:11:15 +08:00
@passerbytiny #134
自己没理解人家讲的是什么,先来一句你先看看 xxx,结果被打脸就不敢继续说下去了? |
136
a15819620038 2019-02-22 17:25:52 +08:00
多点登录?多端登录?
|
137
kakudesu 2019-02-22 17:33:51 +08:00
不懂,看大佬们辩论
|
138
qianzhaoy 2019-02-22 17:50:42 +08:00
chrome 插件 SessionBox ?
|
139
123qqqqqq 2019-02-22 17:51:58 +08:00
哈哈哈,成功逗笑了我
|
140
Vegetable 2019-02-22 18:00:18 +08:00
技术人员应该致力于解决问题.
这个问题不是前端自己可以完美解决的. 分析一下需求: 核心:多个标签页维护不同的用户登陆状态 需要解决的核心问题: > 怎么在相同 domain,不同标签页之间,维护不同的用户 state? 因为 localstorage 和 cookie 是共享的,排除. 不同标签页之间,可以说只有 js 变量空间里的变量值和 url 可以是不同的.从这两方面下手. * 如果将 state 维护在 js 变量里,刷新页面啥都没了,不行 * 存在 url 里?也不合适,但是实际上是行得通的. 为了避免刷新没,localstorage 或者 indexdb 必须要用,为了隔离,可以使用 url querystring 来保存用 tab 标识. 那么方案应该是这样: * 登陆正常返回 token 和用户信息,以及一个**tab 标识** * 前端使用 tab 标识,在本地储存中建立容器隔离保存 state,需要保证一个默认容器 * 所有 url 变更都要保留 tab 标识,一旦 url 失去了该标识,就只能指向默认那一个用户,当然也可以使用全局变量做备份 * 定时清理 这个思路做下来,功能倒是实现了,但是这需求真的有点...隐身模式学习一下吧... |
143
imswing 2019-02-22 18:25:28 +08:00 via iPhone
切换用户吗
|
144
libook 2019-02-22 18:46:05 +08:00
“肇事女司机”,
“黑人抢劫犯”, “素质低下的东北人”, “宰客的少数民族”, “傻✘Java 后端”…… 话说这和 Java 没关系吧。 |
145
winglight2016 2019-02-22 19:00:54 +08:00
按 lz #17 楼的回复,后台这么设计是没问题的,你搞不懂为什么,可以直接问他啊?同事之间有这么客气的吗?
|
146
laminux29 2019-02-22 19:18:38 +08:00
@passerbytiny 我说用户 ID 只是为了方便他了解实现过程而已。生产时当然不会直接暴露用户 ID。
|
147
laminux29 2019-02-22 19:19:28 +08:00
@passerbytiny 所有链接都要加上与主功能无关的用户 ID,一点都不麻烦,这正是框架要做的事情。
|
148
JamesMackerel 2019-02-22 19:23:01 +08:00 via iPhone
SSO 用 CAS 做其实还不错。
|
150
palmers 2019-02-22 23:44:27 +08:00
只这个话题来说 java 得罪谁了? 为什么是"java~ 后端"?
|
151
lscho 2019-02-23 00:34:31 +08:00
是你技术水平不够么?是!
|
155
anypwx 2019-02-23 17:27:34 +08:00
这应该是单点登录吧,我 2014 年实习的时候单位领导让我一个月撸完,而且是自己手打,没有用框架。核心是基于 java 拦截器实现的。做完后提供给其他项目组使用,我把它做成了一个中间件。
|