前端萌新请教各位大佬一个登陆验证问题

2017-12-15 08:59:49 +08:00
 Ncare

公司目前所有系统登陆验证都基于一个 Java 写的一个单点登陆,因为本人对 Java 完全不了解,所有也不知道其具体如何实现的。所有旧系统,年代比较久远,前端都是 JSP,然后 cookie + session 这种模式.

现在公司打算开新系统,也要基于这个登陆系统,但是我打算使用 vue 来做前端 SPA。但是登陆这块不知道怎么搞,我看网络上,vue SPA 都是基于 token 的验证的方式,

所以不知道各位大佬有什么解决方式,既能够使用 vue 做这种前后端分离,然后又使用这套登陆系统。

表达可能有不对地方,大致是这个意思。

3203 次点击
所在节点    程序员
9 条回复
lupkcd
2017-12-15 09:11:19 +08:00
同等答案
lrz0lrz
2017-12-15 09:46:46 +08:00
vue 也可以使用 cookie+session 啊,原来怎么样,现在还是怎么样就行了
chairuosen
2017-12-15 09:57:52 +08:00
你要看单点登录实现方式是怎样的?
1,共享二级域名 cookie 的,sso 只是往.xxx.com 写一个 cookie 再跳回来,子系统都是在.xxx.com 同一个一级域名下。
2,回调带临时 token 的,这种就是 oauth 那一套。
1 需要处理一下 cookie 失效的逻辑,一般都是 html 页面跳 302 到登录页,但是 ajax 接口就不能这样做了,要自己封装下,只返回数据。
2 是完全隔离的,不用处理啥。
whypool
2017-12-15 10:15:16 +08:00
如果登陆页面是 vue 写的,那么前端需要判断一下,加个路由拦截,没登陆的全部跳转到登陆页面的路由;
可以用 cookie 做标记,前提是 cookie 不能是 httponly,否则前端拿不到;
如果登陆页是独立的,那就和前端没啥关系了,后端统一拦截,转发到 vue 前端路由就行,至于 ajax,请求头带 cookie 就行,失效了后端直接 redirect 到登录页面就 ok
lupkcd
2017-12-15 11:58:28 +08:00
@chairuosen @whypool vue 开发的时候 跑的 npm run dev 自带服务器器呀 和后端存在 cookie 跨域问题
一般是怎么处理的?
whypool
2017-12-15 12:03:41 +08:00
@lupkcd webpack 开代理 or 后端设置跨域请求头
cctv1005s927
2017-12-15 12:38:59 +08:00
nginx 来一个 http 代理吧
GabrielChen
2017-12-15 13:03:04 +08:00
nginx 反向代理或者 chrome --disable-web-security 后者比较适合你
ivydom
2019-10-10 16:48:57 +08:00
authing 自带登录表单和各种用户管理代码,可以让开发者使用五六行代码实现认证(使用 jwt token )
可参考:sample*authing*cn

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

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

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

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

© 2021 V2EX