archery1.9 接入ldap后登录500 错误解决

安装部分就不说了,网上一搜一大把,说一下重点,就是接入ldap后,登录提示 internal server error 500错误,该问题困扰了我一整天,

解决办法:

升级 django-auth-ldap 到4.1.0版本,跟什么six.py没有关系

##进入容器执行
#source /opt/venv4archery/bin/activate

#pip install django-auth-ldap==4.1.0 

##重启
#docker restart 9cf8419694fa

LDAP部分配置:

ENABLE_LDAP = True
if ENABLE_LDAP:
    import ldap
    from django_auth_ldap.config import LDAPSearch

    AUTHENTICATION_BACKENDS = (
        "django_auth_ldap.backend.LDAPBackend",  # 配置为先使用LDAP认证,如通过认证则不再使用后面的认证方式
        "django.contrib.auth.backends.ModelBackend",  # django系统中手动创建的用户也可使用,优先级靠后。注意这2行的顺序
    )

    AUTH_LDAP_SERVER_URI = "ldap://x.x.x.x:389"
    AUTH_LDAP_BIND_DN = "cn=admin,dc=xxx,dc=com,dc=cn"
    AUTH_LDAP_BIND_PASSWORD = "xxxxxxxx"
    AUTH_LDAP_USER_SEARCH = LDAPSearch(
        "ou=xxxxxx,dc=xxxxx,dc=com,dc=cn",
        ldap.SCOPE_SUBTREE,
        "(cn=%(user)s)")
    AUTH_LDAP_ALWAYS_UPDATE_USER = True
    AUTH_LDAP_USER_ATTR_MAP = {
        "username": "cn",
        "display": "sn",
        "email": "mail"
    }

 

posted @ 2023-02-08 17:43  slim_liu  阅读(242)  评论(0编辑  收藏  举报