溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

代碼審查Collaborator的單點(diǎn)登錄——通過Java Servlet配置單點(diǎn)登錄

發(fā)布時間:2020-04-10 15:58:18 來源:網(wǎng)絡(luò) 閱讀:196 作者:wx5d39183e901c5 欄目:編程語言

Collaborator的代碼審查可以為開發(fā)測試人員和管理者提供幫助,生產(chǎn)出高質(zhì)量的代碼。團(tuán)隊(duì)可以用它在一個透明、共同的框架中進(jìn)行同行代碼審查、用戶示例和測試計(jì)劃的編輯。

本文介紹如何使用Java servlet為Tomcat在SSO服務(wù)器和Collaborator之間建立單點(diǎn)登錄。要了解單點(diǎn)登錄的一般原理,請參閱單點(diǎn)登錄。

下面我們將介紹如何在Collaborator和Apereo Central Authentication Service(CAS)之間建立單點(diǎn)登錄。與其他供應(yīng)商的單點(diǎn)登錄服務(wù)器的集成以類似的方式執(zhí)行。

啟用HTTPS連接

大多數(shù)單點(diǎn)登錄服務(wù)器使用HTTPS連接,因此您可能還需要為Collaborator服務(wù)器啟用它。不要忘記重新啟動Collaborator服務(wù)器以應(yīng)用更改。

安裝SSO服務(wù)器和客戶端組件

在Apereo Central Authentication Service中,SSO服務(wù)器組件實(shí)現(xiàn)為Java servlet,并為不同的平臺和技術(shù)(Java、.NET、PHP、Python等)提供SSO客戶端。由于Collaborator是一個Java應(yīng)用程序,我們將使用Java CAS客戶端。

備注:

  • 為了簡化示例,我們將在同一個Tomcat服務(wù)器實(shí)例上安裝CAS服務(wù)器和CAS客戶端。

  • 并非所有版本的CAS服務(wù)器和CAS客戶端都相互兼容。例如,CAS服務(wù)器4.0不適用于CAS客戶端3.3。在此集成中,將使用CAS服務(wù)器3.5.2和CAS客戶端3.1.12。

安裝和準(zhǔn)備所需的軟件:

1、下載CAS服務(wù)器存檔文件并將其解壓縮到臨時文件夾。

2、將modules / cas-server-webapp-3.5.2.war文件復(fù)制到

3、下載CAS客戶端存檔文件并將其解壓縮到另一個臨時文件夾。

4、將所有文件從cas-client-3.1.12 / modules /文件夾復(fù)制到

將過濾器添加到Collaborator Tomcat服務(wù)器

在此步驟中,我們將向Tomcat服務(wù)器添加幾個過濾器。這些過濾器將檢測未經(jīng)身份驗(yàn)證的用戶,將其重定向到SSO服務(wù)器,驗(yàn)證用戶并執(zhí)行單一注銷。

打開<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>https://yourcollabserver:8443/cas-server-webapp-3.5.2/login</param-value>
??</init-param>
??<init-param>
????<param-name>serverName</param-name>
????<param-value>https://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>https://yourcollabserver:8443/cas-server-webapp-3.5.2/</param-value>
??</init-param>
??<init-param>
????<param-name>serverName</param-name>
????<param-value>https://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服務(wù)器的實(shí)際URL


配置Collaborator服務(wù)器VM選項(xiàng)

在此步驟中,我們需要更改服務(wù)器的VM選項(xiàng)以啟用Collaborator和CAS服務(wù)器之間的SSL連接,并指定注銷重定向URL。

打開<Collaborator服務(wù)器安裝> /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=https://yourcollabserver:8443/cas-server-webapp-3.5.2/logout

后一個VM選項(xiàng)指定用戶在Collaborator Web界面中單擊“注銷”時將重定向到的URL 。

或者,您可以通過設(shè)置VM選項(xiàng)從Collaborator Web界面中刪除Logout鏈接,如下所示:

-Dsmartbear.ccollab.sso.logout.redirect.url=hide

在這種情況下,用戶將手動執(zhí)行從SSO服務(wù)器注銷。

重新啟動Collaborator服務(wù)器以應(yīng)用VM選項(xiàng)中的更改。

為注銷請求配置CAS屬性

在此步驟中,我們將配置CAS服務(wù)器應(yīng)如何處理注銷請求。

1、打開Collaborator? Web客戶端。

2、打開<Collaborator Server> /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/文件夾,等待在此文件夾中創(chuàng)建名為cas.properties的文件。該cas.properties文件從部署CAS服務(wù)器,web應(yīng)用,3.5.2.war Web應(yīng)用程序歸檔,所以創(chuàng)建它可能需要一些時間。

3、打開<Collaborator Server> /tomcat/webapps/cas-server-webapp-3.5.2/WEB-INF/cas.properties文件,并將該cas.logout.followServiceRedirects屬性的值設(shè)置為true:

#?Specify?whether?CAS?should?redirect?to?the?specified?service?parameter?on?/logout?requests
cas.logout.followServiceRedirects=true

重新啟動Collaborator服務(wù)器

要應(yīng)用所有更改,請重新啟動Collaborator服務(wù)器。

CAS服務(wù)器的已知問題

  • 目前,CAS服務(wù)器設(shè)置僅允許具有一致的登錄、密碼值。也就是說,密碼必須與登錄名具有相同的值。

  • 由于cookie處理問題,CAS服務(wù)器單一注銷功能可能無法與Collaborator Web客戶端正常工作。即,從Collaborator Web客戶端注銷不會終止CAS服務(wù)器上的會話。因此,隨后嘗試打開任何Collaborator Web客戶端或UI頁面將不會重定向到CAS服務(wù)器登錄頁面,而是打開Collaborator標(biāo)準(zhǔn)登錄頁面。此問題不會影響或轉(zhuǎn)到 Web客戶端頁面,但Collaborator Web客戶端頁面的主要部分是或UI頁面并受到影響。為了避免這個問題:

代碼審查Collaborator的單點(diǎn)登錄——通過Java Servlet配置單點(diǎn)登錄




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI