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