# 多个LDAP配置
1.1版本中的新功能
您可能已经注意到,该后端的所有设置都具有前缀`AUTH_LDAP_`。 这是默认的,但可以通过`LDAPBackend`的子类自定义。 您希望这样做的主要原因是创建两个引用不同设置集合的后端子类,从而独立运行。 例如,您可能有两个需要进行身份验证的单独的`LDAP`服务器。 一个简短的例子应该证明这个:
~~~
# mypackage.ldap
from django_auth_ldap.backend import LDAPBackend
class LDAPBackend1(LDAPBackend):
settings_prefix = "AUTH_LDAP_1_"
class LDAPBackend2(LDAPBackend):
settings_prefix = "AUTH_LDAP_2_"
# settings.py
AUTH_LDAP_1_SERVER_URI = "ldap://ldap1.example.com"
AUTH_LDAP_1_USER_DN_TEMPLATE = "uid=%(user)s,ou=users,dc=example,dc=com"
AUTH_LDAP_2_SERVER_URI = "ldap://ldap2.example.com"
AUTH_LDAP_2_USER_DN_TEMPLATE = "uid=%(user)s,ou=users,dc=example,dc=com"
AUTHENTICATION_BACKENDS = (
"mypackage.ldap.LDAPBackend1",
"mypackage.ldap.LDAPBackend2",
)
~~~
所有通常的规则都适用:`Django`将尝试依次验证每个后端的用户,直到其中一个成功。 当一个特定的后端成功验证一个用户时,该用户将在会话期间被链接到后端。
注意
由于其全局性,`AUTH_LDAP_GLOBAL_OPTIONS`将忽略设置前缀。 无论安装了多少个后端,在我们加载`ldap`模块的时候,这个设置都被默认的名字引用一次。