美文网首页
cas的客户端配置web.xml说明

cas的客户端配置web.xml说明

作者: cjp1016 | 来源:发表于2017-01-03 10:59 被阅读0次

统一sso登录

统一登录sso已经是很常用的技术了,方便多个系统共享登录,客户端配置说明。
引入cas-client的jar包

      <dependency>
            <groupId>org.jasig.cas.client</groupId>
            <artifactId>cas-client-core</artifactId>
            <version>3.2.1</version>
        </dependency>

配置web.xml

 <!-- 字符串,放在sso前面 -->
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

<!-- sso start  ,本地不能运行时,请注释掉sso拦截配置
        serverName 指的是本地地址信息
        sso 指定是远程登录sso地址
        ssoValidateFilter 加入encoding=UTF-8防止出现无法解析web.xml情况 -->
    <listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
    </listener>

    <filter>
        <filter-name>ssoSingOutFilter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>ssoSingOutFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>ssoAuthFilter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <param-value> 
                http://ip:post/sso/login
            </param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>
                http://localhost:8088
            </param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>ssoAuthFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <filter>
        <filter-name>ssoValidateFilter</filter-name>
        <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
        </filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>
                http://ip:port/sso
            </param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value> 
                http://localhost:8088
            </param-value>
        </init-param>
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>ssoValidateFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- 
         AttributePrincipal principal = (AttributePrincipal) getRequest().getUserPrincipal();
        if(principal != null){
            String account = principal.getName().trim();// 登录账号   
                 }
     -->
    <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来获取用户的登录名。 
                比如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>

    <!-- sso end -->
    

相关文章

网友评论

      本文标题:cas的客户端配置web.xml说明

      本文链接:https://www.haomeiwen.com/subject/ivwgvttx.html