Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django视图中,需要双因素身份验证以及登录和权限,mixin类的相对顺序应该是什么?_Python_Django_Two Factor Authentication - Fatal编程技术网

Python 在Django视图中,需要双因素身份验证以及登录和权限,mixin类的相对顺序应该是什么?

Python 在Django视图中,需要双因素身份验证以及登录和权限,mixin类的相对顺序应该是什么?,python,django,two-factor-authentication,Python,Django,Two Factor Authentication,我正在回顾一个基于类的视图,它使用以及和。我知道继承链中mixin的顺序很重要;例如,文档说明LoginRequiredMixin应该位于最左边的位置 我的猜测是,混合器的订购应如下所示: from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin from two_factor.views.mixins import OTPRequiredMixin class AccessMixin

我正在回顾一个基于类的视图,它使用以及和。我知道继承链中mixin的顺序很重要;例如,文档说明
LoginRequiredMixin
应该位于最左边的位置

我的猜测是,混合器的订购应如下所示:

from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
from two_factor.views.mixins import OTPRequiredMixin


class AccessMixin(LoginRequiredMixin, PermissionRequiredMixin, OTPRequiredMixin):
    pass

然而,我无法从Django双因素身份验证文档中找到对此的任何确认。这是订购混音的正确方式吗?

当您使用
PermissionRequiredMixin
时,您可能不需要
登录RequiredMixin
-匿名用户将无法通过权限检查并被重定向

其他两种混合物的顺序可能并不重要。您当前的订购(
PermissionRequiredMixin
之前的
OTPRequiredMixin
)意味着将首先检查权限。如果希望先运行
OTPRequiredMixin
检查,可以切换顺序