SpringMVC集成CAS客服端

本文介绍如何在SpringMVC应用中集成CAS实现单点登录。通过配置多个过滤器,包括单点退出过滤器、登录验证过滤器等,确保用户在不同应用间能够实现统一的身份认证和管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面的文章讲了SpringBoot集成CAS单点登录,我们可以看出,使用了很多的过滤器,那么在这个地方SpringMVC集成CAS我们应该怎样做呢?同样应该使用过滤器,将相应的过滤器添加到web.xml文件中。具体代码如下:

	<!--
	****
	  支持单点登录
	****
	-->
	<!-- 单点退出 -->
	<listener>
		<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
	</listener>
	<filter>
		<filter-name>CAS Single Sign Out Filter</filter-name>
		<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
		<init-param>
			<param-name>casServerLogoutUrl</param-name>
			<param-value>http://localhost:9999/logout</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CAS Single Sign Out Filter</filter-name>
		<url-pattern>/loginController.do?logout</url-pattern>
	</filter-mapping>

	<!-- 该filter负责对请求进行登录验证拦截 -->
	<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:9999/login</param-value>
		</init-param>
		<init-param>
			<param-name>serverName</param-name>
			<param-value>http://localhost:8888/loginController.do?login</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CAS Authentication Filter</filter-name>
		<url-pattern>/login</url-pattern>
	</filter-mapping>

	<!-- 该filter负责对请求参数ticket进行验证 -->
	<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>http://localhost:9999/</param-value>
		</init-param>
		<init-param>
			<param-name>serverName</param-name>
			<param-value>http://localhost:8888/</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CAS Validation Filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- HttpServletRequest包裹类,支持getUserPrincipal,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>

	<!-- 把Assertion信息放在ThreadLocal变量中,不在web层也能获取当前登录信息 -->
	<!--<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>/loginController.do?login</url-pattern>-->
	<!--</filter-mapping>-->

	<!--
	****
	  支持单点登录
	****
	-->


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值