单点登陆(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只须要登陆一次就能够访问全部相互信任的应用系统。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登陆框架。web
CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登陆框架。数据库
CAS 包含两个部分: CAS Server 和 CAS Client。浏览器
CAS Server 须要独立部署,主要负责对用户的认证工做;缓存
CAS Client 负责处理对客户端受保护资源的访问请求,须要登陆时,重定向到 CAS Server。安全
CAS Client 与受保护的客户端应用部署在一块儿,以 Filter 方式保护受保护的资源。对于访问受保护资源的每一个 Web 请求,CAS Client 会分析该请求的 Http 请求中是否包含 Service Ticket,若是没有,则说明当前用户还没有登陆,因而将请求重定向到指定好的 CAS Server 登陆地址,并传递 Service (也就是要访问的目的资源地址),以便登陆成功事后转回该地址。用户在第 3 步中输入认证信息,若是登陆成功,CAS Server 随机产生一个至关长度、惟1、不可伪造的 Service Ticket,并缓存以待未来验证,以后系统自动重定向到 Service 所在地址,并为客户端浏览器设置一个 Ticket Granted Cookie(TGC),CAS Client 在拿到 Service 和新产生的 Ticket 事后,在第 5,6 步中与 CAS Server 进行身份合适,以确保 Service Ticket 的合法性。框架
在该协议中,全部与 CAS 的交互均采用 SSL 协议,确保,ST 和 TGC 的安全性。协议工做过程当中会有 2 次重定向的过程,可是 CAS Client 与 CAS Server 之间进行 Ticket 验证的过程对于用户是透明的。优化
另外,CAS 协议中还提供了 Proxy (代理)模式,以适应更加高级、复杂的应用场景,具体介绍能够参考 CAS 官方网站上的相关文档。网站
LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操做进行了特定的优化。目录通常用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录通常不支持通用数据库针对大量更新操做操做须要的复杂的事务管理或回卷策略。而目录服务的更新则通常都很是简单。这种目录能够存储包括我的信息、web链结、jpeg图像等各类信息。为了访问存储在目录中的信息,就须要使用运行在TCP/IP 之上的访问协议—LDAP。spa