【发布时间】:2025-06-24 19:50:02
【问题描述】:
我正在为我的 django Web 应用程序使用活动目录登录身份验证。所以不需要在管理站点更改密码链接。
我搜索了很多文章,但我没有找到任何隐藏更改密码链接的东西。 那么对管理员隐藏更改密码链接的方法是什么?
【问题讨论】:
标签: django django-admin
我正在为我的 django Web 应用程序使用活动目录登录身份验证。所以不需要在管理站点更改密码链接。
我搜索了很多文章,但我没有找到任何隐藏更改密码链接的东西。 那么对管理员隐藏更改密码链接的方法是什么?
【问题讨论】:
标签: django django-admin
您不需要覆盖管理模板。
如果user.has_usable_password() 返回False,则Django will not display change password URL for that user。
user.has_usable_password()可以通过调用user.set_unusable_password()返回False。
来自docs:
set_unusable_password()将用户标记为未设置密码。这与密码的空白字符串不同。
check_password()这个用户永远不会返回True。不保存用户对象。如果您的应用程序的身份验证是针对现有的外部源(例如 LDAP 目录)进行的,您可能需要这样做。
has_usable_password()如果已为此用户调用了
set_unusable_password(),则返回False。
Source code for condition filter in Django base admin template:
{% if user.has_usable_password %}
<a href="{% url 'admin:password_change' %}">{% translate 'Change password' %}</a>
{% endif %}
【讨论】: