最新一份调查研究表明,68%的企业员工每个小时都需要在十多个应用系统中进行切换。因此,如果将十多个应用系统的登录简化为一次门户登录,就可以大幅减少员工日常工作中在应用系统切换上所花费的时间,从而提升员工的工作效率。单点登录解决方案孕育而生,单点登录简单的说就是一次登录,全部访问,即员工输入了一次帐号密码即可访问OA、ERP、CRM等系统。
CAS(Central Authentication Service)开源的企业级单点登录解决方案,旨在为 Web 应用系统提供一种可靠的单点登录方法。
CAS包含两个部分:CAS服务器和CAS客户端。CAS服务器需要独立部署,主要负责对用户的认证工作;CAS客户端负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS服务器。
【概念解释】单点登录(Single sign-on, SSO):在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 统一用户:多个应用共用一套帐号体系,统一用户是 单点登录 的实现前提。一般,储存用户的公有属性在中央认证服务器。
局部会话(Application Session):业务系统服务器(如OA,门户网站等)与 浏览器 的会话。 全局会话(CAS Session):CAS认证服务器与 浏览器 的会话。
Service:业务系统的URL,提前在 CAS认证服务器 注册过。
Ticket Granted Ticket,TGT:大令牌,记录某用户全局会话的状态。
CASTGC,TGC:Ticket Granting Cookie,TGT记录在Cookie中的内容,一般是TGT的id。
Service Ticket,ST:小令牌,用来向CAS认证服务器兑换用户信息。一般限制使用次数或有效期。
CAS认证流程:
2、OA 引导浏览器重定向到CAS统一认证服务器,并携带Service;
3、在CAS统一认证服务器完成登录,建立全局会话。并验证 Service,生成TGT,在浏览器下发并记录CASTGC,建立全局会话;
4、CAS服务器用TGT签发Service Ticket,并重定向到OA业务系统;
5、OA获取到Service Ticket后,向CAS统一认证服务器兑换用户信息;
6、兑换成功后,OA用Session或Cookie记录用户的登录状态,即建立局部会话。
单点登录流程:
8、邮箱重定向到CAS认证服务器页面,并携带Service;
9、浏览器持CASTGC访问CAS服务器,CAS验证TGT,之前已经建立全局会话,用户通过验证因此不需要登录,CAS签发Service Ticket,并重定向到mail业务;
10、mail获取到Service Ticket后,向CAS统一认证服务器兑换用户信息;
11、兑换成功后,mial用Session或Cookie记录用户的登录状态,即建立局部会话,并完成单点登录。