Java:用redis实现单点登录是否可行?请大神看一下我的方法
如果是一个工程,登录成功后可以存session,再发送另一个页面的请求时可以通过判断session是否存在而直接登录,或跳转到登录页面。但如果是两个工程,则这两个工程由于...
如果是一个工程,登录成功后可以存session,再发送另一个页面的请求时可以通过判断session是否存在而直接登录,或跳转到登录页面。但如果是两个工程,则这两个工程由于跨域性会有不同的session与不通过的cookie我的想法是在一个系统登录成功后,将登录信息存到redia里面,key为"name",value为相关登录信息,当访问其他系统资源时,首先判断redis中是否有key为name的值,如果有则直接登录,最后设置redis的超时来模拟session的超时,这只是我的想法,大神们看看是否可行呢?想实现跨域,但是又不想用CAS觉得太复杂,想问问这个方法是否可行
展开
2个回答
展开全部
首先一点,你要明白session的大部分实现都是通过cookie的,所以跨域session是不可能的。
但跨域的认证还是可以有OAuth等实现方法,但不太推荐OAuth项目貌似烂尾了,随然大家都在用。
其次虽然跨域有点难,但放在同一域下的不同项目是可以共享session的,CAS也不算复杂,你可以上github搜一下redis-session这个项目,只有一个源代码文件,它给出了redis下session的一种nodejs实现,就是设置redis的超时来模拟session的超时。
再次,跨域也是可以的,就是使用iframe,在登录时,在多个域下同时写cookie,注意浏览器差异。
综上,你的想法完全可行。
但跨域的认证还是可以有OAuth等实现方法,但不太推荐OAuth项目貌似烂尾了,随然大家都在用。
其次虽然跨域有点难,但放在同一域下的不同项目是可以共享session的,CAS也不算复杂,你可以上github搜一下redis-session这个项目,只有一个源代码文件,它给出了redis下session的一种nodejs实现,就是设置redis的超时来模拟session的超时。
再次,跨域也是可以的,就是使用iframe,在登录时,在多个域下同时写cookie,注意浏览器差异。
综上,你的想法完全可行。
展开全部
用redis实现单点登录是可行的。
首先,session的大部分实现都是通过cookie的,所以跨域session是不可能的。但跨域的认证还是可以有OAuth等实现方法,不太推荐OAuth项目。
其次,跨域有点难,但放在同一域下的不同项目是可以共享session的,CAS也不算复杂。可以上github搜一下redis-session这个项目,只有一个源代码文件,它给出了redis下session的一种nodejs实现,就是设置redis的超时来模拟session的超时。
再次,跨域也是可以的,就是使用iframe,在登录时,在多个域下同时写cookie,注意浏览器差异。
综上,完全可行。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询