<< Click to Display Table of Contents >> CAS单点登录 |
![]() ![]() ![]() |
❖额外部署内容
如果需要部署定制CAS,需要将cas额外部署中的所有文件部署到Yonghong/Yonghong/lib/customer下,并且修改Yonghong/tomcat/webapps/bi/WEB-INF/web.xml,添加以下内容:
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<!-- ======================== Start: Single Sign Out ======================== -->
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- ======================== End: Single Sign On ======================== -->
<!-- ======================== Start: Single Sign On ======================== -->
<!-- Authenticate -->
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>com.yonghongtech.custom.cas.AuthenticationFilter</filter-class>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>${casServerLoginUrl}</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>serverName</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Check Ticket -->
<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>${casServerUrlPrefix}</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>${serverName}</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Wrapper of HttpServletRequest, HttpServletRequest#getRemoteUser() -->
<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 HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- org.jasig.cas.client.util.AssertionHolder.getAssertion().getPrincipal().getName() -->
<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 Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- ======================== End: Single Sign On ======================== -->
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>com.yonghongtech.custom.cas.LoginFilter</filter-class>
<init-param>
<!-- 登录失败重定向地址 -->
<param-name>redirectUrlWhenLoginFailed</param-name>
<param-value>${redirectUrlWhenLoginFailed}</param-value>
</init-param>
<init-param>
<!-- 登出重定向地址 -->
<param-name>redirectUrlWhenLogout</param-name>
<param-value>${redirectUrlWhenLogout}</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
➢注意:其中的使用${}标记的部分,你应当根据下表提示配置正确的信息.
配置项 |
描述 |
示例 |
casServerLoginUrl |
cas服务登录地址 |
https://yonghongtech.com/cas/login |
serverName |
永洪所在服务器 |
http://stacker.tech |
casServerUrlPrefix |
cas服务地址 |
https://yonghongtech.com/cas |
redirectUrlWhenLoginFailed |
登录失败重定向地址 |
https://yonghongtech.com/cas/login |
redirectUrlWhenLogout |
登出重定向地址 |
https://yonghongtech.com/cas/logout |
❖使用方式
CAS在部署成功以后,当每次访问bi时会被重定向到cas登录统一登录页,输入用户名和密码后即可进入永洪.之后再次访问均可直接访问.
➢注意:在cas统一登录页输入的用户名必须也同时存在于永洪中,否则登录失败.