我司 Java 后端的骚操作

2019-02-22 09:20:00 +08:00
 xutao881

我们公司的多点登录一直没实现,今天早上公司的 JAVA 找我说,让我前端来实现用户的多点登录,只要把 sessionID 和 token 存下来就行了,我特么喵也是醉了,是我技术水平不够么?我怎么有点懵逼呢?用户多点登录居然让前端来做??

19315 次点击
所在节点    程序员
155 条回复
arrow8899
2019-02-22 09:42:08 +08:00
@litujin1123 就是用户在同一个浏览器里打开多个不同的系统(不同域名),可以共享登录状态。
由于浏览器的跨域限制,不同域之间没法共享 cookie 和 localstorage 等。所以需要新增一个统一登录入口(认证系统),当用户访问一个新系统,系统检测到未登录时,就重定向到认证系统,如果用户已经登录过了,那么认证系统里面是有 cookie 的,然后重定向到新系统并带上 set-cookie header,这样就不用重复登陆了
muzhidianzi
2019-02-22 09:42:44 +08:00
@ssynhtn 哈哈
hellormrfool
2019-02-22 09:43:07 +08:00
pm 比较骚 什么业务啊想开开眼界 @xutao881
cedoo22
2019-02-22 09:43:49 +08:00
emmmmm
2033009565
2019-02-22 09:43:50 +08:00
楼主的意思是同时登陆多个账号
arrow8899
2019-02-22 09:44:07 +08:00
@xutao881 多账号,这个就没办法用 cookie 了吧,只能把 token 放全局变量里面,每次请求的时候手动带上去。。
wweir
2019-02-22 09:44:26 +08:00
弱弱问下,基于 jwt 的方案,怎么优雅地实现单点登录
javaWeber
2019-02-22 09:44:53 +08:00
@bridgeca0 怀疑你们说的单点登录是不是我理解的单点登录
=======================================
我也看得有点蒙。。
cedoo22
2019-02-22 09:45:18 +08:00
单点登录多点登录,这个不说,java 同学,可能只是想让你配合他实现这个功能,你这里只是很小一部分。
v2chou
2019-02-22 09:46:31 +08:00
@xutao881 1.浏览器多个 tab 打开你们的同一个域名的网站实现多个人登录。2.浏览器多个 tab 打开你们不同域名的网站实现多个人登录


你说的是哪一个
lanterboy
2019-02-22 09:46:39 +08:00
我一个 JAVA 的,看得也有点懵
murmur
2019-02-22 09:46:58 +08:00
多点登录就是拿到 session 然后前端在 iframe 里偷偷把所有接口都访问一遍创建 cookies 啊
cqu1980
2019-02-22 09:47:53 +08:00
@xutao881 你们后端说得没错,可以你保存,前提是登录完成后,把 sessionID 和 token 返还给你,你在每个 query 操作的时候带上给他...因为如果使用 cookie 来保存的话,由于 key 值一样,所以 value 值会被覆盖成最后一个...
cqu1980
2019-02-22 09:50:12 +08:00
@lanterboy sessionID 一般是使用 cookie 保存的,如果不使用 cookie 保存的话,一般可以通过 url 地址或者隐藏表单文本框的方式来实现,道理是一样的。他这里如果使用 cookie,会导致被覆盖,所以不能使用 cookie
qping
2019-02-22 09:51:09 +08:00
@xutao881 #17 这个需求我们之前也碰到过,跟客户说了个最简单方法是浏览器新建个无痕窗口,重新登陆
xutao881
2019-02-22 09:52:16 +08:00
@cqu1980 嗯,我和后端讨论一下,只是他刚开始这么说,有点反直觉。
cqu1980
2019-02-22 09:52:25 +08:00
@qping 这个才是最好的办法,新开一个进程,而不是一个标签~
qping
2019-02-22 09:52:50 +08:00
@xutao881 #17 真正的功能实现,确实是要前后端配合来做的。
-----
利益无关,我是后端
VoidChen
2019-02-22 09:53:27 +08:00
所以后端并没有骚操作= =
qping
2019-02-22 09:56:35 +08:00
我觉得吧,还是前端需要学点后端的东西,后端需要学点前端的东西。不然沟通起来费劲~
你看最早的程序员不都是自己学电路,焊主板么

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

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

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

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

© 2021 V2EX