首页 > 代码库 > 单点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)