首页 > 代码库 > 单点SSO实现原理(1)
单点SSO实现原理(1)
所谓单点登录,简单来说就是:一个登录入口,可访问多个系统,得到多个系统的信任。
用户的一次完整操作可能会涉及到多个系统,如果每次都要登录,用户必然会不耐烦,甚至发火,不仅用户,每个系统都要设计登录,做登录的授权认证,也是很啰嗦了。比如:用户逛淘宝,有时候一个链接就可以直接访问到天猫,但是到了天猫,不再需要登录;选择好要买的东西后,加入到购物车结算,选择结算方式--支付宝/建行/农行/工行….跳转到支付界面,也不需要登录——单点登录,登录一次就可以访问所有相互信任的应用系统。
单点登录SSO实现原理:
SSO单点登录访问流程的主要步骤:
1. 访问服务:SSO客户端发送请求访问应用系统提供的服务资源。
2. 定向认证:SSO客户端会重定向用户请求到SSO服务器。
3. 用户认证:用户身份认证。
4. 发放票据:SSO服务器会产生一个随机的Service Ticket。
5. 验证票据:SSO服务器验证票据Service Ticket的合法性,验证通过后,允许客户端访问服务。
6. 传输用户信息:SSO服务器验证票据通过后,传输用户认证结果信息给客户端。
7. 单点退出:用户退出单点登录。
原理图:
优点:
SSO将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO的好处显而易见:
(1)用户方面:用户只需登录一次,即可访问所有相互信任的系统,减少了一次完整操作登录多个不同系统的时间。并且多个系统只需一个用户名密码,不需要每个系统都注册,减少了登录时出错的可能,比如:忘记用户名密码。
(2)提高了安全性,也避免了处理和保存多个系统用户的认证信息
(3)管理员方面:管理员只需维护一套用户账号,很方便。
(4)开发人员方面:开发新系统时,可直接使用单点登录平台的用户认证服务,不需再单独考虑每个新系统的用户登录问题,节省开发时间。
单点SSO实现原理(1)