Java:用redis实现单点登录是否可行?请大神看一下我的方法

如果是一个工程,登录成功后可以存session,再发送另一个页面的请求时可以通过判断session是否存在而直接登录,或跳转到登录页面。但如果是两个工程,则这两个工程由于... 如果是一个工程,登录成功后可以存session,再发送另一个页面的请求时可以通过判断session是否存在而直接登录,或跳转到登录页面。但如果是两个工程,则这两个工程由于跨域性会有不同的session与不通过的cookie我的想法是在一个系统登录成功后,将登录信息存到redia里面,key为"name",value为相关登录信息,当访问其他系统资源时,首先判断redis中是否有key为name的值,如果有则直接登录,最后设置redis的超时来模拟session的超时,这只是我的想法,大神们看看是否可行呢?想实现跨域,但是又不想用CAS觉得太复杂,想问问这个方法是否可行 展开
 我来答
zaobao000
推荐于2017-12-13 · TA获得超过348个赞
知道小有建树答主
回答量:319
采纳率:100%
帮助的人:230万
展开全部
首先一点,你要明白session的大部分实现都是通过cookie的,所以跨域session是不可能的。
但跨域的认证还是可以有OAuth等实现方法,但不太推荐OAuth项目貌似烂尾了,随然大家都在用。

其次虽然跨域有点难,但放在同一域下的不同项目是可以共享session的,CAS也不算复杂,你可以上github搜一下redis-session这个项目,只有一个源代码文件,它给出了redis下session的一种nodejs实现,就是设置redis的超时来模拟session的超时。

再次,跨域也是可以的,就是使用iframe,在登录时,在多个域下同时写cookie,注意浏览器差异。

综上,你的想法完全可行。
毋楚洁7Z
2018-04-06 · TA获得超过1.1万个赞
知道小有建树答主
回答量:78
采纳率:100%
帮助的人:1.2万
展开全部

用redis实现单点登录是可行的。

首先,session的大部分实现都是通过cookie的,所以跨域session是不可能的。但跨域的认证还是可以有OAuth等实现方法,不太推荐OAuth项目。

其次,跨域有点难,但放在同一域下的不同项目是可以共享session的,CAS也不算复杂。可以上github搜一下redis-session这个项目,只有一个源代码文件,它给出了redis下session的一种nodejs实现,就是设置redis的超时来模拟session的超时。

再次,跨域也是可以的,就是使用iframe,在登录时,在多个域下同时写cookie,注意浏览器差异。

综上,完全可行。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式