# 多個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`模塊的時候,這個設置都被默認的名字引用一次。