互联网单点登录集成方案

为了迎合公司互联网化经营,业务部门均纷纷上马了互联网的项目,部门应用之间各自为政,无法形成公司整体品牌效应,以及影响用户体验,故,有了以下的单点登录集成方案。


概述


整合集成公司各个业务部门的应用,支持通过多终端全渠道单点登录功能;


总体方案



1、用户访问业务系统,通过业务系统集成的拦截器跳转到登录服务器,进行系统的登录、登出操作;

2、登录服务器支持公司内网LDAP集群以及互联网MYSQL集群的用户登录认证;

3、登录服务器存储用户Session至服务器Redis集群;

4、服务器登录成功后将用户信息作为参数跳转至业务应用,包括:用户详情密文、MD5值、TTL、密钥版本号等等。业务端根据参数判断用户信息是否有效,并调用后端安全中心接口获取解密密钥,将用户信息解密;

5、用户信息解密成功后,将用户的Session信息保存至业务端服务器Redis集群,保证后续用户访问无需跳转至服务端验证;


重点说明

1、跨域:所有应用均是通过登录服务器所在域的Session进行中转,实现跨域的单点登录集成;

2、登出:所有登录操作均需要发送到登录服务器执行,业务端通过监听MQ消息,实现全部登出的功能;

3、缓存:所有业务系统均各自缓存登录的用户数据,在有效时间内,无需登录服务器验证,降低登录服务器请求压力,以及业务系统健壮性;

4、安全:重要信息采用时间有效性密钥加密的密文传输,传递密钥版本号,MD5防篡改校验值等等防止破解,通过后端服务调用获取加密密钥;

5、稳定性:整套方案最容易形成性能瓶颈在于安全中心的服务,故采用分布式架构进行建设部署。本案采用淘宝的dubbo框架进行建设;

6、多终端集成:非Web端集成采用传递SessionId的方式进行集成,通过调用登录接口进行登录操作,成功后返回SessionId的参数,后续通过传递的SessionId参数进行单点集成;


猜你喜欢

转载自blog.csdn.net/zhangjin530/article/details/54969961