cas單點登錄驗證失敗,導致無法正常跳轉的bug

jetty的端口由80改爲8080後,驗證ticket異常 org.jasig.cas.client.validation.TicketValidationException

查看cas.log發現url明顯不匹配

ERROR [org.jasig.cas.CentralAuthenticationServiceImpl] - ServiceTicket [ST-12-AzsjcTSZdP3gBbpoxMP9-cas01.qianxi.com] with service [http://1.1.1.1/portal/] does not match supplied service [http://127.0.0.1:8080/portal/]

修改客戶端web.xml配置:casServerLoginUrl、casServerUrlPrefix爲絕對路徑;原來的配置爲相對路徑

  <!-- 該過濾器負責對Ticket的校驗工作,必須啓用它 -->
    <filter>
        <filter-name>CASValidationFilter</filter-name>
        <filter-class>com.sso.JlgsTicketValidationFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>http://1.1.1.1/cas</param-value>
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://1.1.1.1</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CASValidationFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!--該過濾器負責用戶的認證工作,必須啓用它 -->
    <filter>
        <filter-name>CASFilter</filter-name>
        <filter-class>com.sso.JlgsAuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <param-value>http://1.1.1.1/cas/login</param-value>
            <!--這裏的server是服務端的IP -->
        </init-param>
        <init-param>
            <param-name>serverName</param-name>
            <param-value>http://1.1.1.1</param-value>
        </init-param>
        <init-param>
            <param-name>exclusions</param-name>
            <param-value>/*.css,/*.js,/*.png,/*.gif</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CASFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章