我在使用LDAP身份验证模块django-auth-ldap时遇到问题.我正在使用此站点的示例配置:http://packages.python.org/django-auth-ldap/
我想做两件事:
1)针对LDAP进行身份验证:目前,我的LDAP数据库是空的,我没有添加任何内容,实际上我不知道如何.但是,我仍然能够使用存储在我的django数据库中的旧登录/密码登录到基于django的站点.这是为什么?这不应该被忽略,不应该使用LDAP用户/密码进行登录过程吗?换句话说,如果我的LDAP数据库为空,那么我的每次登录都不应该失败吗?但是,它没有,我的印象是django完全忽略了django-auth-ldap模块.
2)使用django同步LDAP(而不是相反)我不想使用现有的用户数据库进行身份验证.我希望能够在Django中创建新用户并将这些用户传播到LDAP,这样他们就可以被其他服务共享,在我的例子中是一个openfire服务器.你是怎么用django-auth-ldap那样做的?
这是我的配置的复制/粘贴:
# Baseline configuration.
AUTH_LDAP_SERVER_URI = "127.0.0.1"
AUTH_LDAP_BIND_DN = "cn=admin,dc=nodomain"
AUTH_LDAP_BIND_PASSWORD = "admin"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=users,dc=nodomain",
ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
# Set up the basic group parameters.
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=django,ou=groups,dc=nodomain",
ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)"
)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr="cn")
# Only users in this group can log in.
AUTH_LDAP_REQUIRE_GROUP = "cn=enabled,ou=django,ou=groups,dc=nodomain"
# Populate the Django user from the LDAP directory.
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "givenName",
"last_name": "sn",
"email": "mail"
}
AUTH_LDAP_PROFILE_ATTR_MAP = {
"employee_number": "employeeNumber"
} …Run Code Online (Sandbox Code Playgroud)