权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。

  • 在执行视图的dispatch()方法前,会先进行视图访问权限的判断
  • 在通过get_object()获取具体对象时,会进行对象访问权限的判断

使用

可以在配置文件中设置默认的权限管理类,如

REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',)
}

如果未指明,则采用如下默认配置

'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.AllowAny',
)

也可以在具体的视图中通过permission_classes属性来设置,如

from rest_framework.permissions import IsAuthenticated
from rest_framework.views import APIViewclass ExampleView(APIView):permission_classes = (IsAuthenticated,)...

提供的权限

  • AllowAny 允许所有用户
  • IsAuthenticated 仅通过认证的用户
  • IsAdminUser 仅管理员用户
  • IsAuthenticatedOrReadOnly 认证的用户可以完全操作,否则只能get读取

举例

from rest_framework.authentication import SessionAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.generics import RetrieveAPIViewclass BookDetailView(RetrieveAPIView):queryset = BookInfo.objects.all()serializer_class = BookInfoSerializerauthentication_classes = [SessionAuthentication]permission_classes = [IsAuthenticated]

RESTful之权限Permissions相关推荐

  1. SpringBoot使用拦截器实现Restful URL权限拦截

    前言 RBAC 是基于角色的访问控制(Role-Based Access Control ).权限管理是在任何一个系统里都无法绕过的问题.没有权限控制管理的系统是非常不安全的. 在Spring框架体系 ...

  2. Django 权限Permissions python

    权限全局配置: REST_FRAMEWORK = {   'DEFAULT_PERMISSION_CLASSES': (     'rest_framework.permissions.IsAuthe ...

  3. Golang Beego使用Casbin进行Restful Api权限管理教程

    Beego使用Casbin进行权限管理(MySQL)入门 前言 网上关于Casbin的教程都比较麻烦,上手难度大,此篇仅供初学者学习,主要是将晦涩难懂的原理简单化,下面将分为8个知识点来应用Casbi ...

  4. javascript写android权限,Permissions权限申请实例

    对于移动开发,我们知道Android 6.0之后对于权限管理做了很大的升级,其类似于IOS的管理管理方式需要用手动授权是否允许使用当前权限, 在RN开发中同样存在这样一个模块. 本文介绍了React ...

  5. Spring Boot + SpringSecurity + JWT 实现简单的 restful Api 权限控制

    对于前后端分离的项目,后端对于接口访问的权限控制是必须要做的,也就是需要根据用户的权限进行控制,这样才能对我们的接口资源进行一定程度的保护,在一个web项目中,我们的通常做法是,允许登录后的用户进行接 ...

  6. 分享一个基于 Shiro 的权限管理系统,亮点是支持 restful 风格 URL.

    Shiro-Action 本项目使用 Spring Boot 搭建, 用于加深对 Spring Boot 与 Shiro 的学习, 项目特色是支持 restful 风格权限控制, 支持对同一 URL, ...

  7. Expo大作战(三十)--expo sdk api之Permissions(权限管理模块),Pedometer(计步器api)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. 微服务之间单点登录和用户权限认证的实现

    目录 单系统登录机制 HTTP无状态协议 Cookie会话机制 登录状态 多系统登录难点 单点登录系统 单点登录流程 单点注销流程 部署图 子系统与sso认证中心的功能 准备工作 项目结构 修改网关配 ...

  9. 使用shiro+aop实现权限控制

    对于一个后台管理系统,控制访问权限的功能必不可少,本章详细介绍如何通过shiro+aop来实现权限控制 一:建库建表 实现权限管理一般需要5张表:用户表.角色表.权限表.用户-角色关系表.角色-权限关 ...

最新文章

  1. keepalived主要模块
  2. python远程ftp服务器文件,如何将远程python FTP服务器连接到本地pythonftp客户端
  3. python文件处理系列(二):Excel文件读取库xlwings
  4. matlab绘制以Hz为单位的bode图
  5. 基于Docker搭建私有镜像仓库
  6. 12月14日习题答案大剖析!html5基础测试来啦
  7. html5作品展示的动效,html5动效系列八:8个非常神奇的HTML5动画和应用
  8. MyEclipse教程:Web开发——调试JSP
  9. 一行一行分析JQ源码学习笔记-03
  10. 国内车联网行业 2015年发展趋势
  11. Monad B2 For Dotnet Framework 2.0 RC/RTM Released!
  12. c语言程序设计设计题题库,C语言程序设计题库.doc
  13. 微分方程数值解法(1)——常微分方程初值问题的数值解法
  14. 五分钟带你玩转rabbitmq(八)【真实案例】消息消费失败如何处理?
  15. 插桩valgrind_动态二进制插桩的原理和基本实现过程(一)
  16. windows 窗口实现隐藏任务栏预览
  17. PowerPoint-漂亮表格三招
  18. 计算机9网络连接不上,本地连接连不上,教您电脑本地连接连不上怎么解决
  19. 计算机系统包括哪些郜分,一台计算机的基本硬件配置有哪些?
  20. pyspark 读mysql数据_spark读mysql数据

热门文章

  1. 分析6千万条GitHub帖子,发现你的工作状态与表情符号强相关
  2. 深度学习中的注意力机制(三)
  3. 老码农90%的程序猿都是瞎努力,这份路线教你成为高手!
  4. “应付”大学作业,我花3小时写了一个“文本转手写”神器
  5. 人工智能六十年技术简史
  6. TIOBE 2月编程语言排行榜:Python逼近C,Groovy重回TOP 20
  7. 网易开源支持图像识别的自动化UI测试工具,零基础亲测好评!
  8. AI入侵机械设计,苦逼的“机械狗”还有未来吗?
  9. “决胜算力时代 ”AI算力高端闭门分享会(7月21日)
  10. 人工智能是人性的罗夏测试