单点登录就是我们开发一个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解码:
版权声明:本文为qq_32002237原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。