尝试通过LDAP进行身份验证,但是由于某些原因,它一直失败,为什么?

时间:2019-05-02 05:57:19

标签: python-3.x flask ldap

试图通过ldap对Flask应用进行身份验证,但到目前为止未成功。

它给出的错误是: 警告:绑定错误:自动绑定不成功-invalidCredentials

我在日志中注意到:

  

调试:('binddn:','AD \\ username','bind_pw:','password')

它将在binddn中添加另一个'\'!

我不确定原因或方式。

我尝试编辑default.py,在其中它将获取LDAP详细信息,并转义字符“ \”。 还尝试了“用户名” 还尝试了“ AD”,“用户名”

来自:

default.py

LDAP_AUTH_SERVER_URI = 'ldap://DC-someplace.com:3268'
LDAP_AUTH_BIND_DN = 'AD\username'
LDAP_AUTH_BIND_PW = 'password'
LDAP_AUTH_SEARCH_BASE = 'DC=ad,DC=someplace,DC=com'
LDAP_AUTH_SEARCH_FILTER = "(&(&(sAMAccountName=%s)(objectClass=person))(CN=AAG_WEBAPP_RO,OU=WEBAPP,OU=Application,OU=Security Groups,OU=Groups and Distribution Lists,OU=WEBAPPL,DC=ad,DC=someplace,DC=com))"

来自:

ldap.py

def auth_handler(username, password):
    app = current_app
    logger.debug("authenticating user: %s" % username)
    if username and password:
        try:
            ldap_auth_server_uri = app.config["LDAP_AUTH_SERVER_URI"]
            server = Server(ldap_auth_server_uri)
            bind_dn = app.config["LDAP_AUTH_BIND_DN"]
            bind_pw = app.config["LDAP_AUTH_BIND_PW"]
            user_dn = "%s@dn.someplace.com" % username
            errstr = "binddn: ", bind_dn, " bind_pw: ", bind_pw
            logger.debug(errstr)
            #user_conn = Connection(server=server, user=user_dn, password=password, auto_bind=True)
            user_conn = Connection(server=server, user=bind_dn, password=bind_pw, auto_bind=AUTO_BIND_NO_TLS, authentication=NTLM)
            if user_conn and user_conn.result['result'] == 0:

我希望登录成功。这没有发生。

0 个答案:

没有答案