TA贡献1871条经验 获得超13个赞
用redis实现单点登录是可行的。
首先,session的大部分实现都是通过cookie的,所以跨域session是不可能的。但跨域的认证还是可以有OAuth等实现方法,不太推荐OAuth项目。
其次,跨域有点难,但放在同一域下的不同项目是可以共享session的,CAS也不算复杂。可以上github搜一下redis-session这个项目,只有一个源代码文件,它给出了redis下session的一种nodejs实现,就是设置redis的超时来模拟session的超时。
再次,跨域也是可以的,就是使用iframe,在登录时,在多个域下同时写cookie,注意浏览器差异。
综上,完全可行。
TA贡献1906条经验 获得超3个赞
单点登录是要求客户端保存用户登录的票据(ticket)的(简化一点,也可以是会话id)对于不同子域名下,是可以这么做的。通常cookie中,只保存session的标识(id),或者与sessionId一一对应的key。在访问重要的资源时(不同子域名下),可以要求用户重新输入一次登录密码,或者输入其他用户的安全码。可以使用 httponly 提高安全属性,但也不能完全防止xss攻击。
大厂算法面试真题解析32讲
¥ 68.00
32 堂微服务架构设计与落地精讲课
¥ 78.00
Java 并发编程深度解析
¥ 58.00
网络编程之Netty一站式精讲
再学经典:《Effective Java》独家解析
举报
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号