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

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

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

jeck猫 2019-05-31 11:02:07
Java:用redis实现单点登录是否可行
查看完整描述

2 回答

?
慕桂英4014372

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

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

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

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

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

综上,完全可行。




查看完整回答
反对 回复 2019-06-01
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

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

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



查看完整回答
反对 回复 2019-06-01
  • 2 回答
  • 0 关注
  • 373 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号