什么是SSO
单个登录 single sign-on,指在多个系统并存的环境下,用户只需要登录一次就可以访问所有系统。
以此简化登录过程,提升用户体验,降低IT管理员大量到账号、密码维护成本。
同时也产生了安全风险,某一系统用户身份被攻破,在sso集成中的其他系统也逗被攻破了。
SSO集成常见问题
- 集成中的旧系统无人维护
- 组织人员信息不同意,登录名不一致
- 各系统域名没有统一规划,不在同一域名下
什么是同域名下
如百度地图 map.baidu.com、百度文库 wenku.baidu.com 都处于baidu.com域下,属于同一域名下,与taobao.com属于不同域名。
不同域名给SSO带来什么影响
SSO需要再各个系统传递用户登录的身份信息,例如通过Cookie传递,但是不同域之间的Cookie无法传递。
SSO集成难度最小的
1.同一个用户在不同系统只有一个共同登录名和密码
2.各应用系统共享一套用户名信息和密码
3.各应用系统采用相同的技术架构并且在同一域名下
SSO集成难度最大的
1.同一个用户在不同系统有不同登录名和密码
2.各应用系统各自存储了独立的登录名和密码
3.各应用系统采用不同技术架构,不在同一域名,或者只有IP没有域名
SSO集成环境调研
1.集成应用数理
2.应用部署系统环境
3.应用之间是否在同一域名下
4.各个系统账号是否统一
5.是否有C/S应用参与SSO
6.应用系统是否可以进行改造和配置
7.是否需要集中登录
8.是否需要保留本系统登录验证
9.是否有domino应用系统参与
当前两种主流的单点登录模式
- 集成验证模式
登录页面和登录验证由验证服务器统一完成,不需要应用系统提供,如cas登录验证
优点:
适合的场景众多,使用统一的用户名和密码,无需记住多套登录名和密码,用户体验好
缺点:
验证服务独立在外,如果宕机,其他系统都无法正常登录。需要保证服务器稳定性 - 多点验证模式
应用系统各自提供登录页面,登录其中一个系统后,其他系统无需在登录,如IBM提供的LTPAtoken验证
优点:
所有登录操作都在应用系统完成,任何一套系统宕机都不会对其他系统产生影响
缺点
一般需要使用LDAP身份验证,存在一定的技术条件,使用场景少