使用者登錄聯合
當 user 和 group 資訊分散在多項登錄中時,會採取使用者登錄聯合。舉例來說,資訊可能位於兩個不同的 LDAP 中、相同 LDAP 的兩個子樹狀結構中、一個檔案中,或者使用者屬於某個系統。甚至資訊可能位於自訂使用者資料儲存庫中。藉由聯合登錄,就可以採統一方式,利用持續儲存資訊,來搜尋和使用這些分散的使用者資訊。利用聯合登錄,您可以使用統一的視圖,在 Liberty 中鑑別和授權使用者。
註: 快速入門安全 (quickStartSecurity)不能與其他使用者登錄聯合,例如,LDAP、基本、SAF 和自訂登錄。
如何聯合使用者登錄?
依預設,會聯合 LDAP 登錄。如果 server.xml 中配置了多項 LDAP 登錄,則會自動聯合這些登錄,而不需另行配置。它們可以是兩項獨立的 LDAP,或是相同 LDAP 中的兩個子樹狀結構。如果一或多項 LDAP 登錄配置了一或多項基本、SAF 或自訂登錄,也會聯合這些登錄,而不需另行配置。下列範例顯示與 LDAP 聯合的基本登錄:
<server description="Federation">
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>servlet-3.0</feature>
<feature>ldapRegistry-3.0</feature>
</featureManager>
<basicRegistry id="basic" realm="SampleBasicRealm">
<user name="admin" password="password" />
<user name="user1" password="password" />
<user name="user2" password="password" />
<group name="memberlessGroup" />
<group name="adminGroup">
<member name="admin"/>
</group>
<group name="users">
<member name="user1" />
<member name="user2" />
</group>
</basicRegistry>
<ldapRegistry id="LDAP1" realm="SampleLdapIDSRealm" host="LDAPHOST1.ibm.com" port="389" ignoreCase="true"
baseDN="o=ibm,c=us"
ldapType="IBM Tivoli Directory Server"
searchTimeout="8m"
recursiveSearch="true">
</ldapRegistry>
</server>
如果您想將一或兩項基本登錄,與 SAF 或自訂登錄聯合,您可以在 appSecurity-2.0 特性之外,另外包含 federatedRegistry-1.0,如下列範例所示。
<feature>appSecurity-2.0</feature>
<feature>federatedRegistry-1.0</feature>
下列範例顯示兩項基本登錄的聯合:<server description="Federation">
<featureManager>
<feature>appSecurity-2.0</feature>
<feature>federatedRegistry-1.0</feature>
</featureManager>
<basicRegistry id="basic1" realm="SampleBasicRealm1">
<user name="admin" password="password" />
<user name="user1" password="password" />
<user name="user2" password="password" />
<group name="memberlessGroup" />
<group name="adminGroup">
<member name="admin"/>
</group>
<group name="users">
<member name="user1" />
<member name="user2" />
</group>
</basicRegistry>
<basicRegistry id="basic2" realm="SampleBasicRealm2">
<user name="user3" password="password123" />
<user name="user4" password="password123" />
<group name="memberlessGroup2" />
<group name="users2">
<member name="user3"/>
<member name="user4" />
</group>
</basicRegistry>
</server>