翻譯|使用教程|編輯:莫成敏|2019-08-19 16:07:52.137|閱讀 355 次
概述:?Collaborator的代碼審查可以為開發測試人員和管理者提供幫助,生產出高質量的代碼。本文介紹如何使用Java servlet為Tomcat在SSO服務器和Collaborator之間建立單點登錄。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Collaborator的代碼審查可以為開發測試人員和管理者提供幫助,生產出高質量的代碼。團隊可以用它在一個透明、共同的框架中進行同行代碼審查、用戶示例和測試計劃的編輯。
本文介紹如何使用Java servlet為Tomcat在SSO服務器和Collaborator之間建立單點登錄。要了解單點登錄的一般原理,請參閱單點登錄。
下面我們將介紹如何在Collaborator和Apereo Central Authentication Service(CAS)之間建立單點登錄。與其他供應商的單點登錄服務器的集成以類似的方式執行。
啟用HTTPS連接
大多數單點登錄服務器使用HTTPS連接,因此您可能還需要為Collaborator服務器啟用它。有關說明,請參閱配置HTTPS。不要忘記重新啟動Collaborator服務器以應用更改。
安裝SSO服務器和客戶端組件
在Apereo Central Authentication Service中,SSO服務器組件實現為Java servlet,并為不同的平臺和技術(Java、.NET、PHP、Python等)提供SSO客戶端。由于Collaborator是一個Java應用程序,我們將使用Java CAS客戶端。
備注:
為了簡化示例,我們將在同一個Tomcat服務器實例上安裝CAS服務器和CAS客戶端。
并非所有版本的CAS服務器和CAS客戶端都相互兼容。例如,CAS服務器4.0不適用于CAS客戶端3.3。在此集成中,將使用CAS服務器3.5.2和CAS客戶端3.1.12。
安裝和準備所需的軟件:
1、下載CAS服務器存檔文件并將其解壓縮到臨時文件夾。
2、將modules / cas-server-webapp-3.5.2.war文件復制到
3、下載CAS客戶端存檔文件并將其解壓縮到另一個臨時文件夾。
4、將所有文件從cas-client-3.1.12 / modules /文件夾復制到
將過濾器添加到Collaborator Tomcat服務器
在此步驟中,我們將向Tomcat服務器添加幾個過濾器。這些過濾器將檢測未經身份驗證的用戶,將其重定向到SSO服務器,驗證用戶并執行單一注銷。
打開<Collaborator Server> /tomcat/webapps/ROOT/WEB-INF/web.xml文件并向其追加以下行:
<filter> <filter-name>CAS Authentication Filter</filter-name> <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> <param-value>//yourcollabserver:8443/cas-server-webapp-3.5.2/login</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>//yourcollabserver:8443</param-value> </init-param> <init-param> <param-name>gateway</param-name> <param-value>false</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Authentication Filter</filter-name> <url-pattern>/ui/*</url-pattern> <url-pattern>/go/*</url-pattern> </filter-mapping> <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> <param-value>//yourcollabserver:8443/cas-server-webapp-3.5.2/</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>//yourcollabserver:8443</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <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> </filter-mapping> <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> <listener> <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener>
提示:請記住替換yourcollabserverCollaborator服務器的實際URL
配置Collaborator服務器VM選項
在此步驟中,我們需要更改服務器的VM選項以啟用Collaborator和CAS服務器之間的SSL連接,并指定注銷重定向URL。
打開<Collaborator服務器安裝> /ccollab-server.vmoptions文件并向其添加以下行:
-Djavax.net.ssl.keyStore=<Collaborator Server>/tomcat/conf/collab.ks -Djavax.net.ssl.keyStorePassword=<the keystore password> -Djavax.net.ssl.trustStore=<Collaborator Server>/tomcat/conf/cacerts -Djavax.net.ssl.trustStorePassword=<the truststore password> -Dsmartbear.ccollab.sso.logout.redirect.url=//yourcollabserver:8443/cas-server-webapp-3.5.2/logout
后一個VM選項指定用戶在Collaborator Web界面中單擊“注銷”時將重定向到的URL 。
或者,您可以通過設置VM選項從Collaborator Web界面中刪除Logout鏈接,如下所示:
-Dsmartbear.ccollab.sso.logout.redirect.url=hide
在這種情況下,用戶將手動執行從SSO服務器注銷。
重新啟動Collaborator服務器以應用VM選項中的更改。
為注銷請求配置CAS屬性
在此步驟中,我們將配置CAS服務器應如何處理注銷請求。
1、打開Collaborator Web客戶端。
2、打開<Collaborator Server> /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/文件夾,等待在此文件夾中創建名為cas.properties的文件。該cas.properties文件從部署CAS服務器,web應用,3.5.2.war Web應用程序歸檔,所以創建它可能需要一些時間。
3、打開<Collaborator Server> /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/cas.properties文件,并將該cas.logout.followServiceRedirects屬性的值設置為true:
# Specify whether CAS should redirect to the specified service parameter on /logout requests cas.logout.followServiceRedirects=true
重新啟動Collaborator服務器
要應用所有更改,請重新啟動Collaborator服務器。
CAS服務器的已知問題
目前,CAS服務器設置僅允許具有一致的登錄/密碼值。也就是說,密碼必須與登錄名具有相同的值。
由于cookie處理問題,CAS服務器單一注銷功能可能無法與Collaborator Web客戶端正常工作。即,從Collaborator Web客戶端注銷不會終止CAS服務器上的會話。因此,隨后嘗試打開任何Collaborator Web客戶端/ ui頁面將不會重定向到CAS服務器登錄頁面,而是打開Collaborator標準登錄頁面。此問題不會影響/轉到 Web客戶端頁面,但Collaborator Web客戶端頁面的主要部分是/ ui頁面并受到影響。為了避免這個問題:
1、打開<Collaborator Server> /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml文件,并將該p:cookieSecure屬性的值設置為false:
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator" p:cookieSecure="false" p:cookieMaxAge="-1" p:cookieName="CASTGC" p:cookiePath="/cas" />
2、從Collaborator Web客戶端和CAS服務器注銷。
3、清除瀏覽器cookie。
或者,您可以禁用LogoutCollaborator Web界面中的鏈接并從CAS服務器執行注銷。
金喜正規買球相關的文章:
Collaborator教程:什么是單點登錄?Collaborator單點登錄的幾個驗證方法
代碼審查Collaborator教程:單點登錄——通過SAML配置單點登錄(上)
代碼審查Collaborator教程:單點登錄——通過SAML配置單點登錄(下)
代碼審查Collaborator教程:單點登錄——通過Crowd OpenID配置單點登錄
想要購買Collaborator正版授權,或了解更多產品信息請點擊
掃描關注慧聚IT微信公眾號,及時獲取最新動態及最新資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn