1. 程式人生 > >單點登錄Windows實現

單點登錄Windows實現

none login closed -- user server 獲取 cati 內容

Windows實現步驟:

技術分享圖片

技術分享圖片

server.xml修改方式

技術分享圖片

hosts修改方式

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

CAS客戶端配置

技術分享圖片

技術分享圖片

CAS配置filter.txt內容如下:

技術分享圖片
    <!-- ======================== 單點登錄開始 ======================== -->  
      <!-- 用於單點退出,該過濾器用於實現單點登出功能,可選配置-->  
    <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> </filter> <
filter-mapping> <filter-name>CAS Single Sign Out Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 該過濾器負責用戶的認證工作,必須啟用它 --> <filter> <filter-name>CASFilter</filter-name> <
filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> <!--這裏為CAS服務器的地址,必須使用所創建的域名,不然驗證證書不通過 --> <param-value>https://www.bhz.com:8443/cas/login</param-value> </init-param> <init-param> <param-name>serverName</param-name> <!--這裏的server是服務端的IP--> <param-value>http://localhost:8080</param-value> </init-param> </filter> <filter-mapping> <filter-name>CASFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 該過濾器負責對Ticket的校驗工作,必須啟用它 --> <filter> <filter-name>CAS Validation Filter</filter-name> <filter-class> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class> <init-param> <param-name>casServerUrlPrefix</param-name> <!--這裏為CAS服務器的地址,必須使用所創建的域名,不然驗證證書不通過 --> <param-value>https://www.bhz.com:8443/cas</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://localhost:8080</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 該過濾器負責實現HttpServletRequest請求的包裹, 比如允許開發者通過HttpServletRequest的getRemoteUser()方法獲得SSO登錄用戶的登錄名,可選配置。 --> <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> <!-- ======================== 單點登錄結束 ======================== --> <!-- 自動根據單點登錄的結果設置本系統的用戶信息 --> <filter> <filter-name>authValidateFilter</filter-name> <filter-class>bhz.com.util.AuthValidateFilter</filter-class> </filter> <filter-mapping> <filter-name>authValidateFilter</filter-name> <servlet-name>bhz-sys</servlet-name> </filter-mapping>
View Code

單點登錄Windows實現