【Cas】(一)cas实现SSO简单介绍

来源:互联网 发布:java下载ftp服务器文件 编辑:程序博客网 时间:2024/06/07 02:50

(一)什么是SSO

  Single Sign On,SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。

    解决了用户只需要登录一次就可以访问所有相互信任的应用系统,而不用重复登录。

    用8个字形容SSO,就是“一处登陆,处处穿梭”。

(二)什么是cas

    Central Authentication Service,中央认证服务。是Yale大学发起的一个开源项目,旨在为Web应用系统提供一种可靠的单点登录方法。

    从结构上看,CAS包含两个部分:CAS Server 和CAS Client需要独立部署,主要负责对用户的认证工作;CAS 
Client负责处理对客户端受保护资源的访问请求,需要登录时,重定向到CAS Server.图1是CAS最基本的协议过程:

    CAS Client 与受保护的客户端应用部署在一起,以 Filter 方式保护受保护的资源。对于访问受保护资源的每个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket,如果没有,则说明当前用户尚未登录,于是将请求重定向到指定好的 CAS Server 登录地址,并传递 Service (也就是要访问的目的资源地址),以便登录成功过后转回该地址。用户在第 3 步中输入认证信息,如果登录成功,CAS Server 随机产生一个相当长度、唯一、不可伪造的 Service Ticket,并缓存以待将来验证,之后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新产生的 Ticket 过后,在第 5,6 步中与 CAS Server 进行身份合适,以确保 Service Ticket 的合法性。

访问服务: SSO 客户端发送请求访问应用系统提供的服务资源。

定向认证: SSO 客户端会重定向用户请求到 SSO 服务器。

用户认证:用户身份认证。

发放票据: SSO 服务器会产生一个随机的 Service Ticket 。

验证票据: SSO 服务器验证票据 Service Ticket 的合法性,验证通过后,允许客户端访问服务。

传输用户信息: SSO 服务器验证票据通过后,传输用户认证结果信息给客户端。


原创粉丝点击