您好,登錄后才能下訂單哦!
Collaborator是一款功能全面的代碼審查工具。代碼審查可以為開發測試人員和管理者提供幫助,生產出高質量的代碼。團隊可以用它在一個透明、共同的框架中進行同行代碼審查、用戶示例和測試計劃的編輯。喜歡的朋友可以下載Collaborator試一試哦~
本篇文章介紹如何使用安全聲明標記語言(SAML)協議在SSO服務器和Collaborator之間建立單點登錄。由于這一教程內容較多,前一篇文章介紹了上半部分的內容(點擊這里查看),現在是后面部分內容~
配置Collaborator服務器
1、在瀏覽器中打開Collaborator登錄頁面,以管理員身份登錄Collaborator。
2、在Collaborator中,轉到管理員>單點登錄。
3、在New SSO Configuration部分中,選擇SAML SSO配置類型,然后單擊Create。這將顯示配置設置。
4、指定設置值:
服務提供者 | 預期接收SAML消息的實體的URL。在我們的示例中,這將是Collaborator服務器的URL。 例如:https://yourcollabserver.com。 注意:您的Collaborator服務器必須可供SSO服務器訪問。配置防火墻或啟用隧道連接以執行此操作。 |
SSO登錄端點URL | 如果尚未建立會話,則是戶重定向單點登錄過程的URL。 這應該是OneLogin服務器上Collaborator SAML Connector應用程序的SAML 2.0端點(HTTP)設置的值。 |
SSO注銷端點URL | 用于重定向用戶以進行單一注銷過程的URL。 這應該是OneLogin服務器上Collaborator SAML Connector應用程序的SLO端點(HTTP)設置的值。 |
X.509證書 | 在SSO服務器和Collaborator服務器之間建立信任的公共證書。 這應該是OneLogin服務器上Collaborator SAML Connector應用程序的X.509證書設置的值。 要復制X.509證書,請單擊“查看詳細信息”,然后單擊“復制到剪貼板”圖標。 |
SAML NameIDPolicy格式 | 指定NameIDPolicy身份驗證請求中參數的格式。 |
啟用AD / LDAP查找 | 指定Collaborator是否應從LDAP / Active Directory檢索組中的用戶成員身份。請參閱將用戶組成員身份與LDAP / Active Directory同步。 |
用戶名參數 | 定義包含LDAP用戶名的SAML響應參數的名稱。請參閱將用戶組成員身份與LDAP / Active? 如果未指定參數名稱,或者參數返回空值,則不執行同步。 |
5、指定值后,單擊“保存”。這將創建SAML SSO配置。
6、如果您有多個配置,請按“激活”將當前配置標記為活動。
7、將Admin>?單點登錄屏幕滾動到單點登錄(SSO)狀態部分,然后將Enable單點登錄設置更改為Yes。
現在,Collaborator和單點登錄服務器之間的集成已配置并正在運行。登錄服務器將處理進一步登錄Collaborator服務器的嘗試。
將用戶組成員資格與LDAP / Active Directory同步
使用單點登錄服務器管理用戶時,您還可以在Collaborator和LDAP目錄或活動目錄之間配置用戶和組同步。在這種情況下,Collaborator將執行以下操作:
1、用戶登錄時,登錄服務器會發送帶有一些預配置參數的SAML響應。
2、Collaborator接收響應,提取保存LDAP用戶名的參數,并將此用戶名發送到LDAP目錄或活動目錄。
3、LDAP目錄或活動目錄搜索此用戶所屬的組,并將其返回到Collaborator
4、Collaborator檢查指定的用戶和組是否存在,如果需要則創建它們,并將用戶添加到組中。
5、Collaborator服務器將用戶登錄。
LDAP / AD同步的配置
要通過LDAP或活動目錄啟用組成員資格的同步,您需要執行以下操作:
1、在用戶信息部分中選擇/創建SAML斷言參數,用于存儲用戶的用戶名。這可以是任何現有參數,如NameID、FirstName或LastName,或某些專用參數。
2、修改Collaborator服務器的Root.xml(<Collaborator Server> /tomcat/conf/Catalina/localhost/ROOT.xml)以使用Combined Realm元素:
<Realm?className="org.apache.catalina.realm.CombinedRealm"?> ??<Realm?allRolesMode="strictAuthOnly" ????className="org.apache.catalina.realm.DataSourceRealm" ????dataSourceName="/jdbc/collabserver" ????localDataSource="true" ????roleNameCol="user_admin" ????userCredCol="user_password" ????userNameCol="user_login" ????userRoleTable="user" ????userTable="user"> ???<CredentialHandler ????className="org.apache.catalina.realm.MessageDigestCredentialHandler" ????algorithm="md5" ???/> </Realm> <Realm?allRolesMode="strictAuthOnly" ????className="org.apache.catalina.realm.JNDIRealm" ????connectionURL="ldap://ldap.example.com:389" ????userPattern="uid={0},dc=example,dc=com" ????roleBase="dc=example,dc=com" ????roleSearch="(&(objectClass=groupOfUniqueNames)(uniqueMember={0}))" ????connectionName="cn=read-only-admin,dc=example,dc=com" ????connectionPassword="password" ??/> </Realm>
roleSearch上面的參數定義了用于標識組中用戶成員身份的模式。它使用標準的LDAP查詢格式語法。
3、驗證collaborator-authentication參數是否與常規身份驗證一樣為真:
<Parameter?description="Is?the?Collaborator?database?used?for?authentication?"?name="collaborator-authentication"?override="false"?value="true"/>
4、在ADMIN> General> SSO選項卡頁面中,將Enable LDAP查找設置為“Yes”,并在Username參數字段中指定包含LDAP用戶名的SAML斷言參數的名稱。
LDAP / AD同步的技術細節
對于映射組中的用戶成員身份,Collaborator使用從LDAP或AD檢索的組的完全限定域名(FQDN)。它會檢查某些現有用戶組是否具有匹配的FQDN,并在成功時將用戶添加到該組。否則,它會創建一個新組并將用戶添加到新組。
要命名新組,Collaborator使用組的完全限定域名(FQDN)的第一個條目。例如,具有“ ou=ccusers,dc=example,dc=com”FQDN 的組將具有ccusers標題。如果某個其他組已經具有相同的標題,則Collaborator會將序號附加到組標題:ccusers1、ccusers2依此類推。
每次登錄時,Collaborator都會檢查通過LDAP或Active Directory同步創建的現有組,并實現這些組中的用戶成員身份。此類算法允許在Collaborator和LDAP或Active Directory之間保持一致性。
故障排除
如果您遇到單點登錄身份驗證問題而無法登錄Collaborator服務器(錯誤的重定向URL、無法以管理員身份登錄等),則可以通過-Dcom.smartbear.server.sso.disable=true Java VM選項禁用SAML單點登錄身份驗證。
OneLogin服務器的已知問題
當用戶從OneLogin服務器注銷時,他們仍然保持登錄Collaborator服務器。出于某種原因,當用戶直接從OneLogin服務器注銷時,OneLogin服務器不會觸發Collaborator SLO端點。但是,當用戶從Collaborator服務器注銷時,它們將從Collaborator服務器和OneLogin服務器注銷。
通過SAML配置單點登錄教程現在結束了,其他單點登錄教程請關注后續內容~
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。