如何在django中使用ldap对app进行身份验证?

时间:2011-08-22 11:30:44

标签: django

我想对我的应用程序使用LDAP身份验证。我的应用程序是从用户那里获取输入并在数据库中存储诸如firstname,lastname之类的详细信息。当我在settings.py文件中编写以下代码但我没有收到任何错误,应用程序正常运行。那么我怎么知道LDAP在app中使用或需要在app中进行一些修改。请帮我。我使用了Django文档中的基本设置。

import ldap
from django_auth_ldap.config import LDAPSearch, GroupOfNamesType
# Baseline configuration.
AUTH_LDAP_SERVER_URI = "ldap://ldap.example.com"
AUTH_LDAP_BIND_DN = "cn=django-agent,dc=example,dc=com"
AUTH_LDAP_BIND_PASSWORD = "marksheet"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=users,dc=example,dc=com",
    ldap.SCOPE_SUBTREE, "(uid=%(user)s)")
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("ou=django,ou=groups,dc=example,dc=com",
    ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)"
)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr="cn")
AUTH_LDAP_REQUIRE_GROUP = "cn=enabled,ou=django,ou=groups,dc=example,dc=com"
AUTH_LDAP_USER_ATTR_MAP = {
    "first_name": "firstname",
    "last_name": "lastname",
}

...谢谢

1 个答案:

答案 0 :(得分:2)

您似乎正在尝试使用django-auth-ldap包执行此操作。对于此设置,您的设置缺少最重要的部分,即将django_auth_ldap.backend.LDAPBackend添加到AUTHENTICATION_BACKENDS

有关更详细的设置说明,请参阅django-auth-ldap documentation