1.集成Spring框架
web.xml配置:
<!-- ======================== 单点登录/登出开始======================== -->
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<filter>
<filter-name>casSingleSignOutFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>casSingleSignOutFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>casAuthenticationFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>casAuthenticationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>casTicketValidationFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>casTicketValidationFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>casHttpServletRequestWrapperFilter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>casHttpServletRequestWrapperFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>casAssertionThreadLocalFilter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>casAssertionThreadLocalFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- ======================== 单点登录/登出结束 ======================== -->
application.xml配置
<bean name="casSingleSignOutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter">
<property name="casServerUrlPrefix" value="${casServerUrlPrefix}"/>
</bean>
<!-- 该过滤器负责用户的认证工作,必须启用它 -->
<bean name="casAuthenticationFilter" class="org.jasig.cas.client.authentication.AuthenticationFilter">
<property name="serverName" value="${casClientServerName}"/>
<property name="casServerLoginUrl" value="${casServerLoginUrl}"/>
</bean>
<!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->
<bean name="casTicketValidationFilter" class="org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter">
<property name="serverName" value="${casClientServerName}"/>
<property name="ticketValidator">
<bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">
<constructor-arg index="0" value="${casServerUrlPrefix}"/>
</bean>
</property>
</bean>
properties文件配置
#############cas配置文件开始
#where to logout
casServerLogoutUrl=http://localhost:8081/cas/logout
#where to login
casServerLoginUrl=http://localhost:8081/cas/login
#login server root
casServerUrlPrefix=http://localhost:8081/cas/
#who am i
casClientServerName=http://localhost:8081
#############cas配置文件结束
以上就是Spring中集成cas的所有配置
SpringBoot集成
pom文件,引入cas客户端自动配置依赖,如果是非springboot项目,就要自己引依赖,配置web.xml拦截器
<dependency>
<groupId>net.unicon.cas</groupId>
<artifactId>cas-client-autoconfig-support</artifactId>
<version>1.4.0-GA</version>
</dependency>
然后再对application.properties做如下的配置(基本有注释)
cas.server-url-prefix=http://localhost:8081/cas
cas.server-login-url=http://localhost:8081/cas/login
cas.client-host-url=http://localhost:8081
cas.validation-type=CAS
server.port=8081
增加WebMvcConfiguration类
@Configuration
public class WebMvcConfiguration extends WebMvcConfigurerAdapter{
@Override
public void addCorsMappings(CorsRegistry registry){
registry.addMapping("/**")
.allowedOrigins("*")
.allowedHeaders("*")
.allowedMethods("*").allowCredentials(true)
.exposedHeaders(HttpHeaders.SET_COOKIE);
}
}
程序主函数添加注解
@ServletComponentScan
@EnableCasClient