sso单点登录系统架构
一、单点登录系统
单点登录(sso系统)主要用于解决公司内多个系统间的用户登录问题。在一个多系统共存的环境下,实现用户在一个系统登录后,访问其他系统的时候,也可以得到系统的信任而不用重新在登录页面再输入一次账号和密码。
二、sso系统架构图
三、实现原理
3.1 应用配置SSO拦截器
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="com.mengka.usercenter.interceptor.SSOInterceptor"> </bean> </mvc:interceptor> </mvc:interceptors>
3.2 usercenter-client
① 用户名、密码有效性校验;
② 保存用户的ssosessionid到cookie中;
③ 页面ssosessionid过期,则跳出登录;
new Cookie("ssosessionid","044101331");
3.3 集群session存储
这里用redis集中存储session,来解决分布式集群session同步问题;
扫描二维码关注公众号,回复:
337227 查看本文章
redis存储用户session数据:
long time = 2*3600; redisClient.put("044101331",time,userId);
mysql存储用户基础信息数据:
userDAO.querybyId(userId);