我使用Spring Security来管理用户和集团证券。
所有数据都存储在ldap服务器中。我的配置如下:
<authentication-manager alias="authenticationManager">
<ldap-authentication-provider
user-search-filter="(mail={0})"
user-search-base=""
group-search-filter="(uniqueMember={0})"
group-search-base="ou=groups"
group-role-attribute="cn"
role-prefix="ROLE_"
user-context-mapper-ref="contextMapper">
</ldap-authentication-provider>
<lda
</authentication-manager>
<beans:bean id="contextMapper" class="com.mycompany.CustomContextMapper">
<beans:property name="indexer" ref="entityIndexer" />
</beans:bean>
<ldap-user-service server-ref="ldapServer" user-search-filter="(mail={0})" />
<ldap-server manager-dn="cn=admin,dc=springframework,dc=org" manager-password="password" url="ldap://server/dc=springframework,dc=org" id="ldapServer" />
所有的运行都像一个魅力。现在,我想添加第二个ldap服务器,如果第一个服务器已关闭(后备)。我找不到一个简单的方法来做到这一点。
所以,我的问题很简单:如何在此配置中添加第二个ldap服务器,以便在第一个服务器关闭时提供后备服务?
答案 0 :(得分:17)
为url属性使用空格分隔值:
url="ldap://server1/dc=springframework,dc=org ldap://server2/dc=springframework,dc=org"
答案 1 :(得分:3)
这很简单,我错过了。
只需配置多个以空格分隔的网址:
<ldap-server ... url="ldap://server1/dc=springframework,dc=org ldap://server2/dc=springframework,dc=org" />
答案 2 :(得分:3)
之前的答案是正确的。
我想添加有关LDAP服务器冗余的信息。由于这是添加多个LDAP网址的目标,因此希望它很有用。
我测试了几个场景:
对于LDAP服务器网址(url1,url2)
如果网址指定的两个LDAP服务器均已关闭,则应用程序登录将失败。
如果一个LDAP服务器已关闭。将server1视为url1:ldap:// url1 (无论url1位置是第1位还是第2位),应用程序都可以正常工作。
如果其中任何一个网址语法格式错误:url1:ldap:// MALFORMED_URL,则应用程序将无法启动。