【问题标题】:disable django clasical auth and force ldap auth禁用 django 经典身份验证并强制 ldap 身份验证
【发布时间】:2017-01-23 18:05:12
【问题描述】:

我有一个 django 项目,我已连接到 LDAP,并且我正在使用我的超级用户登录名通过管理页面手动添加一些用户。我添加的第一个用户是使用正确的 LDAP 密码创建的。然后,为了确保我使用 ldap 用户而不是 django 身份验证方法登录,我更改了新创建用户的 ldap 密码。我现在可以使用 ldap 密码和原始密码登录。有没有办法禁用django身份验证方法并强制ldap?

我在已安装的应用程序中禁用了“django.contrib.auth”,但这不起作用。

【问题讨论】:

  • 您使用哪个应用程序进行 ldap 身份验证?
  • 我没有将 ldap 连接放在应用程序中,我在 local_settings.py 中输入了它,它使用此方法覆盖了 settings.py docs.geonode.org/en/master/tutorials/admin/ldap
  • 您使用文档中所写的django-auth-ldap :)

标签: django ldap


【解决方案1】:

AUTHENTICATION_BACKENDS 定义的顺序调用哪些后端(以下 sn-p 取自您的链接文档)

AUTHENTICATION_BACKENDS = (
    'django_auth_ldap.backend.LDAPBackend',
    'django.contrib.auth.backends.ModelBackend',
    'guardian.backends.ObjectPermissionBackend',
)

去掉django.contrib.auth提供的后端:

AUTHENTICATION_BACKENDS = (
    'django_auth_ldap.backend.LDAPBackend',
    'guardian.backends.ObjectPermissionBackend',
)

它应该表现得像你想要的那样。

【讨论】:

    猜你喜欢
    • 2017-06-03
    • 2011-09-23
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    相关资源
    最近更新 更多