有人可以告诉我如何在django(那些is_staff设置为true)中的员工用户默认在管理界面中访问某些模型吗?目前,如果我以工作人员身份登录,我只会收到“您无权编辑任何内容”。如果我以超级用户身份登录,我可以访问几个东西(在admin.py中注册的东西)。
我希望基本上将员工视为一个组,并允许他们编辑一组模型,或将某些权限设置为默认值。我搜索了文档无济于事。
答案 0 :(得分:2)
您可以创建一个组并在其中创建新的员工用户成员。默认情况下不授予权限是一项安全功能。
答案 1 :(得分:1)
您是否编写过自定义身份验证后端?我曾写过一个使用LDAP与现有的身份验证系统进行交互,并且遇到了与你一样的问题" staff"用户没有任何模型的权限。超级用户很好,只是员工有问题。
我通过在我的自定义auth类中超类化ModelBackend来解决这个问题:
## in my custom auth.py
from django.contrib.auth.backends import ModelBackend
class ActiveDirectoryBackend(ModelBackend):
ModelBackend类具有确定组和用户级权限所需的功能。
此固定用户标记为"员工"从无法访问模型,并允许我通过组和权限控制对不同模型的访问。
答案 2 :(得分:0)
将admin.autodiscover()
添加到项目urls.py文件中。
答案 3 :(得分:0)