Project.net Config CAS SSO

一、环境
Tomcat6.0
Project.net9.2
CAS3.5
二、配置CAS
参考我的另一篇文章: 配置CAS
三、Configuring CAS SSO for Project.net
1、打开文件\webapps\pnet\WEB-INF\web.xml,增加
<!-- CAS -->
		<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>https://demo.wuyunmin.com:8444/cas/login</param-value>
		        </init-param>
		        <init-param>
		                <param-name>serverName</param-name>
		                <param-value>http://demo.wuyunmin.com:9090</param-value>
		        </init-param>
		</filter>
		<filter>
		        <filter-name>CAS Validation Filter</filter-name>
		        <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
		        <init-param>
		                <param-name>casServerUrlPrefix</param-name>
		                <param-value>https://demo.wuyunmin.com:8444/cas</param-value>
		        </init-param>
		        <init-param>
		                <param-name>serverName</param-name>
		                <param-value>http://demo.wuyunmin.com:9090</param-value>
		        </init-param>
		</filter>
		<filter>
		        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
		        <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</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 Wrapper Filter</filter-name>
	    	<url-pattern>/*</url-pattern>
		</filter-mapping>
		<!-- /CAS -->

2、打开文件\webapps\pnet\sso\SSOLogin.jsp,修改文件第46行,如下:
boolean ssoEnabled = PropertyProvider.getBoolean("prm.global.login.sso.allowSSO");
	if (!ssoEnabled) {
		//SSO is disabled
		pageContext.forward("/Login.jsp");
		return;
	}
	
	String remoteUser = request.getRemoteUser();//被修改的行
	if ((remoteUser == null)||(remoteUser.equals(""))) {
		//no header. this is system error.
		pageContext.forward("/sso/NoHeader.jsp");
		return;
	}

3、打开文件\webapps\pnet\sso\LoggedOut.jsp,在文件头上增加:
<%
response.sendRedirect("https://demo.wuyunmin.com:8444/cas/logout");
%>

4、更新数据库
update pn_property set property_value=1 where property='prm.global.login.sso.allowSSO';
5、从cas项目目录下复制jar文件:\webapps\cas\WEB-INF\lib\cas-client-core-3.2.1.jar到Project.net项目下的lib文件夹中。

猜你喜欢

转载自ithead.iteye.com/blog/1754004