CAS单点登录子系统改造步骤

系统集成中单点登录是必不可少的话题,使用cas进行单点登录认证,如何把子系统进行cas单点登录,下面说说步骤:
1.web系统需要增加jar,把下面的jar放入web应用的lib
cas-client-core-3.2.1.jar (我使用的是3.2.1版本)
commons-logging-1.1.jar

2.修改web.xml 添加cas filter,将下面这个cas的配置加入到web.xml中的顶端
<!-- cas begin -->
	<filter> 
		<filter-name>CAS Authentication Filter</filter-name> 
		<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> 
	
		<init-param> 
			<param-name>casServerLoginUrl</param-name> 
			<param-value>http://localhost:8088/cas-web/login</param-value> 
		</init-param> 
		<init-param> 
			<param-name>renew</param-name> 
			<param-value>false</param-value> 
		</init-param> 
		<init-param> 
			<param-name>gateway</param-name> 
			<param-value>false</param-value> 
		</init-param> 
		<init-param> 
			<param-name>serverName</param-name> 
			<param-value>http://localhost:8090</param-value> 
		</init-param> 
	</filter> 
 
	<filter> 
		<filter-name>CAS Validation Filter</filter-name> 
		<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class> 
		<init-param> 
			<param-name>casServerUrlPrefix</param-name> 
			<param-value>http://localhost:8088/cas-web</param-value> 
		</init-param> 
		<init-param>
			<param-name>serverName</param-name> 
			<param-value>http://localhost:8090</param-value> 
		</init-param> 
		<init-param> 
			<param-name>useSession</param-name> 
			<param-value>true</param-value> 
		</init-param> 
		<init-param> 
			<param-name>redirectAfterValidation</param-name> 
			<param-value>true</param-value> 
		</init-param> 
	</filter> 
	<filter> 
		<filter-name>CAS HttpServletRequest WrapperFilter</filter-name> 
		<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> 
	</filter> 
	<filter> 
		<filter-name>CAS Assertion Thread Local Filter</filter-name> 
		<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> 
	</filter> 
	
	<filter-mapping> 
		<filter-name>CAS Authentication Filter</filter-name> 
		<url-pattern>/*</url-pattern> 
	</filter-mapping> 
	<filter-mapping> 
		<filter-name>CAS Validation Filter</filter-name> 
		<url-pattern>/*</url-pattern> 
	</filter-mapping> 
	<filter-mapping> 
		<filter-name>CAS HttpServletRequest WrapperFilter</filter-name> 
		<url-pattern>/*</url-pattern> 
	</filter-mapping> 
	<filter-mapping> 
		<filter-name>CAS Assertion Thread Local Filter</filter-name> 
		<url-pattern>/*</url-pattern> 
	</filter-mapping>
	<!-- cas end -->


3. 如果需要配置exclude path ,使某些url不进行单点登录就可以访问,需要改造CAS 的filter ,添加ExcludeFile 列表,具体参见另外一篇文章 http://wangyangqq2008.iteye.com/blog/2043018

猜你喜欢

转载自wangyangqq2008.iteye.com/blog/2043047