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文件夹中。