一、SSO整体访问流程
a.访问服务:SSO客户端发送请求访问应用系统提供服务资源
b.定向认证:SSO客户端会重定向用户请求到SSO服务器
c.用户认证:用户身份认证
d.发放票据:SSO服务器会根据TGT随机生成一个ST
e.验证票据:SSO服务器验证ST的合法性,验证通过后,允许客户端访问服务
f.传输用户信息:SSO服务器验证票据通过后,传输用户认证结果信息给客户端
g.单点退出:用户退出单点登录
二、5种情况的访问流程:
名词解释:
登录点:首次进入应用系统登录的站点称为登录点
单点:用户已经登录,而后再访问另一应用系统的站点
1、登录点首次访问
首次访问应用系统,进入登录页面的过程
用户首次访问网站,session中没有用户上下文,于是将请求地址包装为service参数,转向SSO服务器“定向”认证,SSO服务器返回登录页面,用户输入用户名和密码等凭证信息,交给SSO服务器,SSO服务器进行认证,认证成功后,生成TGT,并且根据TGT随机生成ST,返回给浏览器,浏览器带着票据ST的service参数请求,请求SSO服务器验证票据,验证票据成功后,返回给用户信息,设置session用户上下文、cookie中设置TGC。
2、登陆点二次访问
"登录点"首次登录后,再次进行正常访问的过程
用户在首次登录成功后,再次访问登录点的应用服务时,判断session中存在用户上下文,就不再拦截,直接转向到需要访问的目标服务资源。
3、单点首次访问
已经在上述"登录点"登录后,再首次访问另一个应用系统进行访问的过程
4、单点二次访问
"单点"在首次登录后,再次进行正常访问的过程
5、单点登出
总结
SSO主要包含:认证中心、SSO服务器、SSO客户端
认证中心:用户首次访问一个由SSO统一管理的Web应用服务器地址时,SSO
Server会将用户信息与认证系统中的内容进行核对。
SSO服务器:主要负责完成用户认证,提供单点登录服务。SSO Server会处理用户名/密码等凭证,它可能会到数据库检索一条用户账号信息,也可能在XML文件中检索用户密码,对这种方式,SSO均提供一种灵活但统一地接口/实现分离的方式,SSO认证方式的实现细节可以自己定制和扩展。
SSO客户端:部署在应用系统,用户请求访问应用系统的受保护资源时,需要将请求转向SSO服务器进行身份认证、单点登录服务相关处理。
版权声明:本文为博主原创文章,未经博主允许不得转载。