标题所说的几乎是。
我正在使用django 1.11,我被要求将CAS作为身份验证方法设置为某些视图,并将其余部分保留在Django Model Auth后面或无身份验证。
我正在尝试将django_cas_ng
集成到我的项目中,以重定向到CAS服务器进行身份验证,但是我不知道如何在视图函数之间区分AUTH方法。Django支持多个AUTH后端,甚至支持完全定制的后端,但我想知道是否可以为每个视图指定单独的auth方法(例如,使用视图装饰器)。
django允许明确指定不同的数据库和缓存,但是有没有办法(或应用程序)启用相同的身份验证后端?
django默认auth:
from django.contrib.auth.decorators import login_required
@login_required(login_url='/accounts/login/')
class AnyView(AnyViewClass):
...
您可以用于Aouth视图:
from rest_framework.decorators import permission_classes, authentication_classes
from rest_framework.authentication import BasicAuthentication
from rest_framework.permissions import IsAuthenticated
@authentication_classes((BasicAuthentication,))
@permission_classes((IsAuthenticated,))
class AnyView(APIView):
...
和其他任何auth 2:
from oauth2_provider.decorators import protected_resource
@protected_resource()
class AnyView(APIView):
...
对于"不要复制",您可以使用不同的身材类型创建两个类,并将它们用作其他类型的父级。