• 第四阶段:DRF day81 DRF--DRF中三大认证中认证模块和权限模块详解


    一、昨日内容复习

    """ 视图家族
    1、View:将请求方式与视图类的同名方法建立映射,完成请求响应
    2、APView:
    	1)View的所有功能;
      	2)重写as_view禁用csrf认证;
      	3)重写dispatch:请求、响应、渲染、异常、解析、三大认证
    	4)多了一堆类属性,可以完成视图类的局部配置
    
    3、GenericAPIView:
    	1)APView的所有功能
    	2)三个方法:get_object()、get_queryset()、get_serializer()
        3)三个属性:queryset、serializer_class、lookup_url_kwarg
        
    4、mixins包:
    	1)五大工具类:RetrieveModelMixin, ListModelMixin, CreateModelMixin, UpdateModelMixin, DestroyModelMixin
    	2)六大工具方法:retrieve、list、create、update、partial_update、destroy
       
    5、generics包:
    	1)一堆mixins工具类与GenericAPIView视图基类组合
    	
    6、ViewSetMixin
    	1)重写as_view(),完成请求方式与视图方法的自定义映射
    		as_view({'get': 'my_get'})
    		
    7、视图集基类:
    	ViewSet(ViewSetMixin, APIView):可以自定义映射关系的APIView
    	GenericViewSet(ViewSetMixin, GenericAPIView):可以自定义映射关系的GenericAPIView
    	
    8、常用Model视图集
    	1)ModelViewSet(mixins.CreateModelMixin,
                       mixins.RetrieveModelMixin,
                       mixins.UpdateModelMixin,
                       mixins.DestroyModelMixin,
                       mixins.ListModelMixin,
                       GenericViewSet)
        	某一资源的六大操作视图集
        	
        2)ReadOnlyModelViewSet(mixins.RetrieveModelMixin,
                               mixins.ListModelMixin,
                               GenericViewSet)
            某一资源的只读操作视图集
    """
    

    二、今日内容总结

    """
    1、认证、权限、频率的工作原理
    基础哪个类、重写哪个方法、方法的实现体要完成什么事
    
    系统的认证类:都很少使用,常用的前后台分类认证 - jwt(json web token)
    
    系统的权限类:
    AllowAny:不限制
    IsAuthenticated:必须是登录用户
    IsAdminUser:必须是后台用户
    IsAuthenticatedOrReadOnly:读操作无限制,其他操作需要登录
    
    2、自定义User表
    继承AbstractUser、配置AUTH_USER_MODEL、配置admin(UserAdmin密文操作密码)
    
    3、一个需要登录后的群查接口UserList、一个获取LoginAPIView成功的Token
    
    4、LoginAPIView要根据请求的usr、pwd交给序列化类,全局校验得到 user、token
    	签发token的算法
    	
    5、自定义认证类,校验token
    	校验token的算法
    	
    6、自定义权限类
    	指定权限规则
    
    7、登录接口必须完成所有认证权限局部禁用,权限接口在权限类中局部配置自定义认证权限类(或在全局配置)
    """
    

    三、今日练习

    练习A

    """
    1、整理今天所学知识点
    	核心:签发token和校验token算法,自定义认证类和权限类,视图类配置自定义认证类和权限类
    
    2、新建项目,实现LoginAPIView,完成账号密码登录签发token给前台
    
    3、基于User表,写一个 个人中心接口(这个接口可以访问用户所有信息,密码就用八个#填充),该接口需要登录就可以访问(自定义认证类完成token校验,权限类系统有提供),不同的用户访问得到的是该用户的详情信息
    """
    

    B作业

    """
    1、基于A作业需求,写一个修改用户密码的接口,修改密码后,用新密码测试登录
    """
    
  • 相关阅读:
    hosts 文件妙用
    asp.net 各种路径
    正则表达式
    int.Parse()、int.TryParse()和Convert.ToInt32()的区别
    总结.NET 中什么时候用 Static
    利用.net的内部机制在asp.net中实现身份验证
    server.transfer 用法
    sql server Datetime格式转换
    如果在代码中使用JS
    js 添加广告
  • 原文地址:https://www.cnblogs.com/foreversun92/p/11937699.html
Copyright © 2020-2023  润新知