Django Rest Framework 认证组件(权限组件)

from rest_framework.viewsets import ModelViewSet
from .authentication_classes import UserAuth
from .permission_classes import UserPerm
class BookView(ModelViewSet):
    # 在需要认证的数据接口里面指定认证类
    authentication_classes = [UserAuth]
    # 在需要认证的数据接口里面指定权限类
    permission_classes = [UserPerm]
    queryset = models.Book.objects.all()
    serializer_class = BookSerizlizer

views.py

在项目应用目录下新建一个permission_classes.py文件

class UserPerm():
    message = ‘你不具有权限!‘
    def has_permission(self, request, view):
#在models表里面指定了用户的usertype_id ,如果目前登录的用户usertype_id是3 就是超级VIP。返回True。具备权限.
        if request.user.usertype_id == 3:
            return True
        return None

permission_classes.py

原文地址:https://www.cnblogs.com/cou1d/p/12343087.html

时间: 2024-10-02 12:12:56

Django Rest Framework 认证组件(权限组件)的相关文章

Django中rest_framework的认证组件,权限组件,频率组件,序列化组件的最简化版接口

url urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^login/', views.Login.as_view()), # Book表 url(r'^books/$',views.BookHandle.as_view({ 'get':'list', 'post':'create' })), url(r'^books/(?P<pk>\d+)/',views.BookHandle.as_view({ 'get':'retrieve

django的RBAC认证z;自定义auth_user表;认证组件权限组件源码分析;认证组件;权限组件

一 RBAC 1.RBAC:全称(Role-Based Access Control):指的是基于用户权限访问控制的认证. 2.Django框架采用的是RBAC认证规则,RBAC认证规则通常会分为:三表规则,五表规则:Django采用的是六表规则. # 三表:用户表.角色表.权限表# 五表:用户表.角色表.权限表.用户角色关系表.角色权限关系表# 六表:用户表.角色表.权限表.用户角色关系表.角色权限关系表.用户权限关系表 3.在Django中六表之间是都是多对多的关系,可通过下面字段跨表访问

DjangoRestFramework之认证组件,权限组件,频率组件

一 . 认证组件 我们现在知道的认证机制有cookie, session,session比较安全,session的信息是存在服务器上的,如果用户量足够大的话,服务器的压力也就比较大,并且django的session存到了django_session表中,不是很好操作,现在生产中使用的一个叫做token机制的方式比较多.可以使用这个机制把token存到用户信息里,当用户登录成功的时候放里面,等他来的时候就要带着这个来,而且们每次来的时候都更新token,防止被拦截. 我们这里使用一下token,首

Django REST框架--认证和权限

教程4:认证和权限 目前,我们的API对谁可以编辑或删除代码段没有任何限制.我们想要一些更先进的行为,以确保: 代码段始终与创建者相关联. 只有身份验证的用户可以创建片段. 只有片段的创建者可以更新或删除它. 未经身份验证的请求应具有完全只读访问权限. 将信息添加到我们的模型 我们将对我们的Snippet模型类进行几次更改.首先,我们添加几个字段.其中一个字段将用于表示创建代码段的用户.另一个字段将用于存储代码的突出显示的HTML表示. 将以下两个字段添加到Snippet模型中models.py

Django Rest Framework 认证组件

'''用户认证章节''' # 用户认证章节:写一个数据接口 from django.http import JsonResponse from .utils import get_token from rest_framework.exceptions import APIException class UserView(APIView): def post(self, request): # 定义返回消息体 response = dict() # 定义需要的用户信息 fields = {"us

drf三大认证:认证组件-权限组件-权限六表-自定义认证组件的使用

三大认证工作原理简介 源码分析: from rest_framework.views import APIView 源码分析入口: 内部的三大认证方法封装: 三大组件的原理分析: 权限六表分析 基于用户权限访问控制的认证(RBAC):Role-Based-Access-Control;基于auth的认证规则(了解). Django框架采用的是RBAC认证规则:通常分为:三表规则.五表规则.Django采用的是六表规则. 三表:用户表.角色表.权限表 五表:用户表.角色表.权限表.用户角色关系表.

DRF之版本控制、认证和权限组件

一.版本控制组件 1.为什么要使用版本控制 首先我们开发项目是有多个版本的当我们项目越来越更新,版本就越来越多,我们不可能新的版本出了,以前旧的版本就不进行维护了像bootstrap有2.3.4版本的,每个版本都有它对应的url,https://v2.bootcss.com/ . https://v3.bootcss.com/这就需要我们对版本进行控制,这个DRF也给我们提供了一些封装好的版本控制方法 2.原理 1. 在DRF框架中,它默认帮我们设置了版本信息在request.version和r

Django Rest Framework url注册器组件 | 响应器组件 | 分页器组件

文章参考博主:https://www.cnblogs.com/li-li/p/10103918.html 1.url注册器组件 : 通过DRF的视图组件,数据接口逻辑被我们优化到最后剩下一个类,接下来,我们使用DRF的url控制器来帮助我们自动生成url '''3.使用url注册器组件的url''' #导入模块 from rest_framework import routers router = routers.DefaultRouter() # 3.将需要自动生成url的接口注册到route

Django REST framework - 认证

目录 认证 DRF 5种验证方式 如何确定身份验证? 设置身份验证方案 案例: 基于自定义Token认证 第一步: 定义一个用户表和一个保存用户Token的表 第二步: 定义一个登陆视图 第三步定义一个认证类 第四步: 使用认证类 认证 (我是谁?) 身份认证是将传入请求与一组标识凭据相关联的机制,然后,权限和限制策略可以使用这些凭据来确定是否应该允许该请求. REST框架提供了许多开箱即用的身份验证方案,还允许您实现自定义方案. 身份验证始终在视图的最开始,在发生权限和限制检查之前,以及允许任