利用过滤器和cookie实现简单的单点登录

来源:互联网 发布:手机系统重装软件 编辑:程序博客网 时间:2024/06/05 02:34

        单点登录就是我们开发一个web系统时,会使用前后台,后台各模块分离的成model的模式,所以一个大的系统可能会分成很多web项目来写,有同学会说:那就登录一个就可以都访问就好了,可是session正常是不能跨域的,也就是说在别的项目模块已经获取不到你登录模块的session了,cookie也是相同域名可以读取,但是cookie可以设置domain(“.xxx/xx”)以“点”开头,设置的域就能看见了,下面来看看具体实现。

一:在web.xml配置过滤器,确保登录后再进入别的项目时能第一时间读取浏览器cookie并设置到session:


二:编写登录代码:获取index登录页的用户名和密码,验证数据库,这里用的是dubbo调用后台service,如果验证成功,把用户主键和用户名分别放入cookie,注意!因为用户可能是中文,放入cookie时需要进行编码设置,取出时也要进行相应的解码。


三:编写过滤器代码,首先就是读取cookies,通过判断名字获取用户登录信息,再次放入session中,注意!!!放入时进行了编码,现在取出需要解码。


四:正常从session中取出就好,我这里通过js直接读取cookie,也是需要解码的,不过就一句话,decodeuri默认就是用utf-8解码: