权限:问题:不用视图不用权限可以访问基本使用写上一个权限类  创建utils 中 permission.py文件class SvipPermisson(object):message = "必须是SVIP用户,否则无权访问"  #页面无权时报错提示def has_permission(self, request, view):if request.user.user_type != 3:return Falsereturn Trueclass OrderView(APIView):"""
        订单相关业务 (只有SVIP用户有权限)"""
        #authentication_classes = [FirstAuthtication, Authtication]permission_classes = [MyPermission, ]def get(self, request, *args, **kwargs):self.dispatchret = {'code':1000, "msg":None, 'data':None }try:ret['data'] = ORDER_DICTexcept Exception as e:passreturn JsonResponse(ret)self.check_permissons(request)#返回权限的对象列表  或者说 [权限类的对象]
for permission in self.get_permissions():if not permission.has_permisstion(requst, self):  #如果ha_permisstion返回True 就不执行该函数 就可以通过权限认证self.permission_denied(request, message = getattr(permission, 'message', None))
可以在全局配置 也可以自己定制REST_FRAMEWORK = {#全局使用的认证类#认证"DEFAULT_AUTHENTICATION_CLASSES":['api.utils.auth.FirstAuthtication',]"UNAUTHENTICATED_USER":None  #匿名用户 request.user = None#权限"DEFAULT_PERMISSION_CLASSES":['api.utils.permission.SvipPermisson']
}如果要自定义
可以在class UserInfoVIew(APIView):"""
    订单相关业务(普通用户)"""
    permission_classes = [PublicPermission,]  #写完这样 就不会读全局的权限访问 也可以为空 如permission_classes= []源码流程:dispatchinitialpermission内置的权限
from rest_framework.permissions import BasePermission
class SVIPPermission(BasePermission):   #按规范 需要继承BasePermissionmessage = "必须是SVIP才能访问"def has_permission(self, request, view):if request.user.user_type != 3:return Falsereturn True梳理:1.使用-类: 继承 BasePermission 必须实现 has_permission方法from rest_framework.permissions import BasePermissionclass SVIPPermission(BasePermission):   #按规范 需要继承BasePermissionmessage = "必须是SVIP才能访问"def has_permission(self, request, view):if request.user.user_type != 3:return Falsereturn True-返回值:True   #有权访问False  #无权访问抛出异常  一般不做异常抛出异常message = "SVIP"局部:permission_classes = [Mypermission]全局:REST_FRAMEWORK = {"EDEFAULT_PERMISSION_CLASSES" :['api.utils.perimission.MyPermission']}2.源码流程

转载于:https://www.cnblogs.com/Liang-jc/p/9314059.html

rest_framework 权限功能相关推荐

  1. 用 Flask 来写个轻博客 (25) — 使用 Flask-Principal 实现角色权限功能

    Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 Flask-Principal 使用 Flask-Princ ...

  2. android ztree,ztree实现权限功能(横向显示)

    最近在做权限功能的时候,采用的ztree实现的,但是产品要求最后一层的权限节点要横向显示.开始在网上找的解决方案是用css样式把最后一层的display设置为inline.在我本地电脑上看了下.效果不 ...

  3. plsql查看用户权限_权限功能

    几乎所有的后台都会有权限这个功能,权限也是后台管理系统很重要的一项功能,可以提高系统的安全性,也可以很好的使每个操作人员清晰地找到自己所对应的功能. 一般来说,系统中只有最高权限.或者这只权限的管理员 ...

  4. 实现ABP中Person类的权限功能

    菜单项的显示功能已经完全OK了.那么我们就开始制作视图功能吧. 首先测试接口是否正常 我们通过代码生成器将权限和application中大部分功能已经实现了.那么我们来测试下这些接口ok不. 浏览/a ...

  5. 若依框架(RuoYi-Vue):权限功能模块设计分析

    权限功能模块设计分析 一.若依Vue系统中的权限分类 1.菜单权限 2.按钮权限 3.接口权限 4.数据权限 二.各种类型权限实现原理 1.菜单权限 2.按钮权限 3.接口权限 4.数据权限 三.若依 ...

  6. 管理系统类项目的登陆与权限功能的实现

    前言 笔者最近参与了公司的几个业务的管理系统类项目,在这样的项目需求中,相对于所选择的前端技术栈以及前后端分离协同开发的模式.理解并实现后台项目的业务需求是其中的重点,其中,账户的登陆,以及权限验证与 ...

  7. 5码默认版块_短说社区论坛系统版块权限功能

    短说社区论坛系统近期开发了版块权限功能,版块权限功能与用户组功能关联,因此想要更好的使用版块权限功能,先了解短说用户组功能介绍.此贴详细介绍版块权限功能. 版块权限主要分为访问审核权限.版块访问权限. ...

  8. 修改若依的数据权限功能

    若依(cloud版本)的数据权限功能是通过注解实现的,在需要数据权限的方法上加上注解. 在注解中判断当前用户的角色对应的数据权限类型,在执行的sql语句后面拼接部门和用户的sql过滤条件从而实现数据权 ...

  9. IDM统一权限功能修改心得

    IDM身份管理系统是为解决企业内部多系统间用户信息不一致而开发的,主要定位于解决企业在5A功能上的需求,即:Account账号管理.Authentication认证管理.Authorization授权 ...

  10. 视频国标协议服务器,国标GB28181流媒体协议客户端EasyGBS视频平台权限功能的实现...

    原标题:国标GB28181流媒体协议客户端EasyGBS视频平台权限功能的实现 大家知道TSINGSEE青犀视频全线产品更新过后,都有了管理员和非管理员登陆的区别,管理员拥有最高权限,可对服务器进行配 ...

最新文章

  1. RDKit | 基于不同描述符和指纹的机器学习模型预测logP
  2. 【快乐水题】509. 斐波那契数
  3. 主题模型 LDA,Dirichlet分布 和朴素贝叶斯算法
  4. vue实现实时监听文本框内容的变化(最后一种为原生js)
  5. 网页的js源文件被加密解决方案
  6. flask中的CBV和FBV
  7. PAT甲级 -- 1053 Path of Equal Weight (30 分)
  8. vue-cli3中安装lib-flexible和px2rem
  9. Qt添加类文件编译后,再添加宏Q_OBJECT
  10. java自定义方法使用_Java 自定义方法
  11. 五子棋服务端程序java_9网上五子棋对战(java)服务端源码
  12. java m查询_javassm框架
  13. 什么是Python解释器?
  14. 小程序定位并获取城市编码
  15. LeetCode——592.分数加减运算
  16. ICCV2021中的时序动作检测算法
  17. npm 安装碰到SSL问题
  18. 专访北森CEO纪伟国:解读SaaS+PaaS的云上发展路径
  19. 华为推送 简介 集成
  20. inprivate浏览是什么意思_InPrivate浏览是什么?

热门文章

  1. new RandomAccessFile有时很耗时间
  2. 双缝干涉实验,在双缝之后加一个反射,会怎样
  3. 积累的历年博客终于发完了
  4. LINUX 循环脚本
  5. 管理感悟:如何改造代码
  6. 世界杯:裁判看了视频后判罚更重?
  7. mysql一对多前端实现_django一对多模型以及如何在前端实现详解
  8. 破坏入侵计算机信息系统犯罪,刑事律师解读:新形势下的黑科技犯罪—破坏计算机信息系统罪...
  9. mstsc 中文打不了_伟大的中文!(妙不可言)
  10. 打游戏的计算机,玩游戏还得台式机!高性能游戏台式电脑推荐