![](https://csdnimg.cn/release/download_crawler_static/4241275/bg7.jpg)
5 、应用系统接收统一格式的用户令牌,取得用户在本系统上的登录账号,将用户在本系统上状态置
为登录,返回用户请求访问的页面。
图 3.7 用户单点登录流程 - 步骤五
如果用户在访问应用系统之前已经在单点登录服务器上登录过 , 第二步到第四布对用户来说就是透
明的,用户感觉只是向应用系统发出了访问请求,然后得到了页面反馈。
实现 SSO
SSO
SSO
SSO 的开源框架介绍 :
:
:
:
一, CAS
CAS
CAS
CAS 背景介绍
CAS ( Central Authentication Service ) , 是耶鲁大学开发的单点登录系统 ( SSO , single
sign-on ),应用广泛,具有独立于平台的,易于理解,支持代理功能。 CAS 系统在各个大学
如耶鲁大学、加州大学、剑桥大学、香港科技大学等得到应用。
Spring Framework
的
Acegi
安全系统支持
CAS
,并提供了易于使用的方案。
Acegi
安
全系统 , 是一个用于
Spring Framework
的安全框架 , 能够和目前流行的
Web
容器无缝集成
。
它使用了
Spring
的方式提供了安全和认证安全服务 , 包括使用
Bean Context
, 拦截器和面向
接口的编程方式 。 因此 ,
Acegi
安全系统能够轻松地适用于复杂的安全需求 。
Acegi
安全系统在
国内外得到了广泛的应用,有着良好的社区环境。
CAS
CAS
CAS
CAS 的实现原理
从结构体系看,
CAS
包含两部分:
l
l
l
l CAS
CAS
CAS
CAS Server
Server
Server
Server
CAS
CAS
CAS
CAS Server
Server
Server
Server
负责完成对用户的认证工作 ,
CAS Server
需要独立部署,有不止一种
CAS Server
的实现,
Yale CAS Server
和
ESUP CAS Server
都是很不错的选择。
CAS Server
会处理用户名
/
密码等凭证
(Credentials)
,它可能会到数据库检索一条
用户帐号信息,也可能在
XML
文件中检索用户密码,对这种方式,
CAS
均提供一种灵活但
同一的接口
/
实现分离的方式 ,
CAS
究竟是用何种认证方式 , 跟
CAS
协议是分离的 , 也就
是,这个认证的实现细节可以自己定制和扩展。
l
l
l
l CAS
CAS
CAS
CAS Clien
Clien
Clien
Clien t
CAS
CAS
CAS
CAS Client
Client
Client
Client
负责部署在客户端 ( 注意 , 我是指
Web
Web
Web
Web
应用 ) , 原则上 ,
CAS Client
的
部署意味着,当有对本地
Web
应用的受保护资源的访问请求,并且需要对请求方进行身份认
证,
Web
应用不再接受任何的用户名密码等类似的
Credentials
,而是重定向到
CAS
Server
进行认证。