使用Python Django从LDAP切换到AD LDAPS



LDAP到AD LDAPS认证转换

Python + Django

==============
下列Django文档:https://django-auth-ldap.readthedocs.io/en/latest/authentication.html

<编辑>老:
AUTH_LDAP_SERVER_URI = "ldap://ldap-example.test.com"
<编辑>新:
AUTH_LDAP_SERVER_URI = "ldaps://ad.example.com"

==============
我已经与AD管理员一起正确设置了这些值。出于明显的隐私原因,我更改了值本身。

AUTH_LDAP_BIND_DN = "cn=ex-test,cn=user,dc=test,dc=ad"
AUTH_LDAP_BIND_PASSWORD = "{PASSWORD}"
AUTH_LDAP_USER_SEARCH = LDAPSearch("ou=sites,dc=test,dc=ad",ldap.SCOPE_SUBTREE,"(uid=%(user)s)")
AUTH_LDAP_CONNECTION_OPTIONS = {ldap.OPT_REFERRALS: 0}
AUTH_LDAP_USER_DN_TEMPLATE = "cn=%(user)s,ou=sites,dc=test,dc=ad" 
AUTH_LDAP_BIND_AS_AUTHENTICATING_USER = True
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("cn=priv-ex,ou=due,ou=ldap,ou=shared,dc=test,dc=ad", ldap.SCOPE_SUBTREE)
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType(name_attr='cn')
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "givenName",
"last_name": "sn",
"email": "mail"
}
AUTH_LDAP_REQUIRE_GROUP = "cn=DUE-MAIN,ou=DUE,ou=Applications,ou=Sharing,o=LDAP"

==============

无法登录。我不知道我做错了什么,因为我完全按照文档。

问题Q1:我是否可以从终端或命令行测试连接?

Q2:我已经看到了django-pyad建议使用settings.py这看起来像

# settings.py
AUTHENTICATION_BACKENDS = [
'django_pyad.backend.ADBackend',
]
# AD configuration
AD_LDAP_SERVER = "ad.example.com"
AD_NT4_DOMAIN = "example"
AD_SEARCH_DN = "OU=Users,DC=ad,DC=example,DC=com"

我是否应该放弃对前面的LDAP树所做的工作,而采用这种方法呢?或者我可以重用以前的LDAP连接代码,但像现在一样更改AD的值吗?

使用#1或#2进行身份验证,但NOT两者同时发生。这是我的问题。

<标题>1
AUTH_LDAP_BIND_DN = 
AUTH_LDAP_BIND_PASSWORD = 
AUTH_LDAP_USER_SEARCH = LDAPSearch()
<标题>2 h1> /html>

最新更新