目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5931.8k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(838)
赞(0)

身份验证和权限

image-20211203181827213

到目前为止,程序的API对任何人都可以编辑或删除,没有任何限制。我们希望有一些更高级的行为,进行身份验证和权限分配,以确保:

  • 数据始终与创建者相关联
  • 只有经过身份验证的用户才能创建数据
  • 只有数据的创建者可以更新或删除
  • 未经身份验证的请求只有只读访问权限

提示

往往用户验证与权限分配一起配合使用

官网:https://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/

配置权限

全局配置

在settings.py文件,增加代码

局部配置

在views.py文件,增加代码

提供的权限

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

配置认证

全局配置

在settings.py文件,增加代码

局部配置

在views.py中,增加代码

认证返回值

  • 401 Unauthorized 未认证
  • 403 Permission Denied 权限被禁止

注意

只针对与REST FrameWork的视图有效

使用admin应用的User

  • 配置好settings中的数据库配置
  • 将admin应用的数据库进行迁移
  • 使用 createsuperuser 创建用户

实时学习反馈

1. 在rest_framework中添加了身份验证和权限分配,如果未经身份验证的请求只有 _____权限。

A 修改

B 添加

C 只读

D 删除

2. 在rest_framework中认证与权限说法错误的是?

A 认证与权限需要配合使用

B 认证功能分全局与局部配置

C 权限功能分全局与局部配置

D 权限功能可以分别设置对数据是否允许CRUD

答案

1=>C 2=>D

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2