9
回答
前后分离+单点登录的解决方案?有的提供个思路?
【腾讯云】校园拼团福利,1核2G服务器10元/月!>>>   

谁有前后分离+单点登录的解决方案?有的提供个思路?

 

目前我的项目是普通的springmvc+cas 实现单点登录,最近想实现前后分离,前端用vue.js或者angular.js,但如何实现单点登录功能一直没想到解决方案。有思路或者做过的老铁说下。

<无标签>
举报
最后111
发帖于3个月前 9回/375阅

登录时发放访问令牌,访问令牌在服务端设置有效状态,

之后每次访问都带上访问令牌,如果令牌失效则不能访问,

用户重新登录失效之前的令牌,再生成新令牌,这样之前登录的地方自然不能访问了.

--- 共有 3 条评论 ---
大后锋 回复 @最后111 : jwt无法在服务端手动失效,如果需要手动失效,只有缓存然后标记是否可用= =搞得更麻烦 3个月前 回复
crow0176我只提供思路,实现方法太多,怎么实现要看你自己掌握的技术了. 如果你是在A系统发放令牌的,在从A系统跳到B系统时,同时把令牌也传过去, 然后B系统通过令牌从A系统获取用户信息,并完成自动登录. 3个月前 回复
最后111有个疑问: 1,前端登录了a系统, 如何保证访问b系统也不用登录? 2,token我用了jwt, 如何使token失效(刚接触jwt,还不熟悉)? 3个月前 回复

我现在也是前后端分离,也是用spring mvc 和 cas。实现的方法是使用浏览器本身的跳转实现的。当前端发现没有登录,spring MVC统一返回json,即没有登录的情况也是返回josn格式告诉前端。然后前端判断这个没登录的标识,去跳转到单点登录页面。登录成功会跳回/CAS地址,在客户端登录成功后,可以配一个成功登录的URL,这个URL配前端的首页即可。

--- 共有 1 条评论 ---
最后111恩, 是这样的。我项目之前也一直用springmvc+cas。 只是最近想改成springboot+vue。但改后,貌似不能用cas,只能用jwt这类的方法了 3个月前 回复

单点登录一般与session共享一起讨论,而session共享又与缓存服务密切相关。缓存可以用redis集群,token失效可以用redis中key的失效机制实现。

--- 共有 1 条评论 ---
最后111恩恩,待我试试 3个月前 回复

单点登录,和 前后端分离不冲突,也不搭边。

单点登录时  统一的 passport 发放令牌 code 然后更具 code 在去 passport 换 token 在用 token 获取用户信息。

前后端分离:服务端以  restful 方式返回特定格式数据(比如 json,xml)区别与前段使用什么 jsp freemarker 等模板工具返回html,前段使用 ajax 获取数据然后更新html。

--- 共有 1 条评论 ---
最后111我的意思是,采用springboot+vue进行前后分离后,如何实现单点登录。 (我以前只了解过基于cas + springmvc的单点登录) 3个月前 回复
顶部