【问题标题】:Extending Django User for Permission扩展 Django 用户以获得权限
【发布时间】:2012-05-05 18:36:20
【问题描述】:

我只想让列表用户获得许可,所以我只制作了一个如下所示的自定义模型

from django.db import models
from django.contrib.auth.models import  Permission,User

class Mycustomuser(User):
    class Meta:
        permissions = (
            ('users','users'),
            ('view_user', 'View user'),
        )

在我简单地调用的视图中

items=Mycustomuser.objects.all()

它只返回 4 的用户 ID。

我这样做是因为我使用 django Guardian 获得了以下许可

task = MyCustomuser.objects.create()
joe = User.objects.get(username__exact='admin')
assign('view_category', joe, task)

现在我想在调用 MyCustomuser 时检查该权限。

【问题讨论】:

    标签: django permissions authentication extend


    【解决方案1】:

    没有必要也不推荐扩展User模型。见Storing additional information about users。

    也就是说,您可以在不设置permissions模型元属性的情况下创建权限,请参阅Programmatically creating permissions。

    【讨论】:

    • 我不想存储其他信息,我只想在权限下对用户进行 CRUD,比如 John 可以查看用户,Tom 可以创建+查看用户。我使用 django Guardian 来获取权限,并且它的工作非常好自定义模型很好,所以我只想让自定义模型扩展用户,但它没有返回所有数据!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    相关资源
    最近更新 更多