为了账号安全,请及时绑定邮箱和手机立即绑定

Java:用redis实现单点登录是否可行

Java:用redis实现单点登录是否可行

函数式编程 2019-03-27 20:17:07
Java:用redis实现单点登录是否可行
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

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

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

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

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

综上,完全可行。


查看完整回答
反对 回复 2019-03-30
?
萧十郎

TA贡献1815条经验 获得超13个赞

单点登录是要求客户端保存用户登录的票据(ticket)的(简化一点,也可以是会话id)

对于不同子域名下,是可以这么做的。通常cookie中,只保存session的标识(id),或者与sessionId一一对应的key。
在访问重要的资源时(不同子域名下),可以要求用户重新输入一次登录密码,或者输入其他用户的安全码。
可以使用 httponly 提高安全属性,但也不能完全防止xss攻击

查看完整回答
反对 回复 2019-03-30
  • 2 回答
  • 0 关注
  • 2131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信