多LDAP后端配置

1.1版新特性

你也许注意到了,之前我们所有的配置都有AUTH_LDAP_前缀,这是默认选项,也可以通过继承LDAPBackend来进行自定义配置。这么做的主要情形就是你需要创建2个分别可以操作的后端时。比如,你需要2个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模块时被设置。

results matching ""

    No results matching ""