我正在制作一个Intranet应用程序,并且试图通过仅使用AD代理服务器进行身份验证。我的想法是在Django Web应用程序中完成此操作的最佳方法是使用django-auth-ldap。这是我在设置中设置ldap的方式:
AUTHENITCATION_BACKENDS = [
'django_auth_ldap.backend.LDAPBackend',
]
AUTH_LDAP_START_TLS = True
AUTH_LDAP_SERVER_URI = "ldap://(DB)"
AUTH_LDAP_BIND_DN = "(Service Account DN)"
AUTH_LDAP_BIND_PASSWORD = "(Service Account Password)"
AUTH_LDAP_USER_SEARCH = LDAPSearch("OU=User-Groups,DC=(Database Name),DC=global",ldap.SCOPE_SUBTREE, "(&(objectClass=user)(mail=%(user)s))")
AUTH_LDAP_USER_ATTR_MAP = {"email":"mail"}
我尝试登录设置中的服务帐户,然后在数据库中查询数据库中的所有用户。我不确定从这里如何进行身份验证。我目前将内置的登录身份验证插入到我的应用程序中,并且我知道仅凭此一项并不能从LDAP信息中提取信息,因为我试图使用该数据库中的帐户进行登录,但此操作无效。我应该从这里去哪里?如何以某种方式将ldap插入我的项目中,从而可以验证来自该数据库的用户,并且我将能够提取他们的电子邮件以供以后在我的网站中使用?
我正在将Python 2.7,Django 1.11,ubuntu 14服务器和Apache与mod_wsgi一起使用,并且我正在使用runmodwsgi命令来运行。