如何使用Django和Python按照经过身份验证的用户检查权限 [英] How to check the permissions as per authenticated user using Django and Python

查看:48
本文介绍了如何使用Django和Python按照经过身份验证的用户检查权限的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要检查每个使用Django和Python的身份验证用户所需的权限.我在下面提供我的代码.

I need to check the permission required as per authenticate user Using Django and Python. I am providing my code below.

class Permission(models.Model):
    """docstring for Permission"""

    user_id = models.ForeignKey(User)
    class Meta:
        permissions = (
            ("view_reactor", "1"),
            ("find_reactor", "1"),
            ("controll_reactor", "0"),
        )

Views.py:

from django.contrib.auth.decorators import permission_required


def view_reactor(request):
    """ This function for to get serch screen. """

    return render(request, 'plant/view_reactor.html',
                        {'count': 1})

在这里,我需要根据正确的 userid 检查 @permission_required 装饰器功能.假设已登录的用户具有权限("view_reactor","1"),那么如果("view_reactor","0")可以访问 view_reactor 函数则无法访问.

Here I need to check @permission_required decorator function as per proper userid. Suppose the logged in user has permission ("view_reactor", "1"), then that view_reactor function can access if ("view_reactor", "0") then it can not be accessed.

推荐答案

,您向模型添加了额外的权限,其中第一个值是权限名称,第二个值是人类可读的名称,(在此处详细说明

you add extra permissions to your model, where first value is a name of permission and second is a human readable name, (details here meta permissions) so if i understand you need added it to your Reactor model for example:

class Reactor(models.Model):
    # ^^^^^^
    # ....
    user_id = models.ForeignKey(User)

    class Meta:
        permissions = (
            ("view_reactor", "can view reactor"),
            ("find_reactor", "can find reactor"),
            ("controll_reactor", "can controll reactor"),
        )

,您可以在视图中使用

from django.contrib.auth.decorators import permission_required

@permission_required('reactor.view_reactor')
def view_reactor(request):

对不起,如果我误会了

这篇关于如何使用Django和Python按照经过身份验证的用户检查权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆