CAS4.X使用(二)客户端配置

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。