SSO与CAS

CAS (Central Authentication Service)是Yale大学的ITS开发的一套JAVA实现的开源 的SSO(single sign-on)的服务。
该服务是以一个java web app(eg:cas.war)来进行服务的,使用时需要将cas.war发布到一个servlet2.3兼容的服务器上,并且服务器需要支持 SSL,在需要使用该服务的其他服务器(客户),只要进行简单的配置就可以实现SSO了。
CAS 的客户端可以有很多种,可以使用cas-client,目前版本cas-client-java-3.1。
对于需要使用CAS的应用来说,需要一下步骤:
把casclient.jar或者其他客户端的jar拷贝到你的应用的Lib目录下
修改应用的web.xml文件,加入下面的部分
 <filter>   <filter-name>CAS Filter</filter-name>   <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>   <init-param>     <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>     <param-value>[url]https://casserver/cas/login</param-value>[/url]   </init-param>   <init-param>     <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>     <param-value>[url]https://casserver/cas/proxyValidate</param-value>[/url]   </init-param>   <init-param>     <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>     <param-value>yourerver:8080</param-value>   </init-param> </filter>  <filter-mapping>   <filter-name>CAS Filter</filter-name>   <url-pattern>/cas-protected/*</url-pattern> </filter-mapping>

说明:1 <filter-name>CAS Filter</filter-name> CAS的servlet filter。这个类负责过滤所有的请求,把某些请求转发给CAS处理。
2 edu.yale.its.tp.cas.client.filter.loginUrl 登陆页面。每个应用登陆使用的都是cas应用的登陆服务。具体的登陆页面可以改变,但是每次cas应用启动只能有一个登陆服务,所以所有的应用只能使用同样的登陆页面。
3 edu.yale.its.tp.cas.client.filter.validateUrl cas中负责判断登陆的有效性
4 edu.yale.its.tp.cas.client.filter.serverName 运行你的应用的服务器名称,每个应用都可以不相同
5 <url-pattern>/cas-protected/*</url-pattern> 是应用中需要登陆后才能访问的地址的通配的写法,也就是告诉cas 哪些地址需要cas的保护。由于不可能具体的写出所有需要保护的url,所以必须规定可以通配的写法。例如 /cas-protected/* 就是url中包含/cas-protected/的都会需要CAS logincas server的配置
http://www.matrix.org.cn/blog/wolfw/archives/2004_09.html

你可能感兴趣的:(应用服务器,Web,xml,servlet,SSO)