zoukankan      html  css  js  c++  java
  • 1. RBAC 角色权限管理类

     1.基于 Django 的后台管理平台,采用 RBAC 权限管理机制

    用户表、角色表、权限表、资源列表
      用户表 :账号、姓名、邮箱、添加时间、最后登录时间、账号是否禁止登录
      角色表 :商品管理员、订单管理员、超级管理员
      资源列表(路径正则) :资源名称(项目模块名称),资源路径(后台路由)
      资源分类:商品模块、订单模块、营销模块、权限模块、内容模块、其他模块
      权限表 :对某一个路由的增删改查权限
    

      

    ['DATA', 'FILES', 'POST', 'QUERY_PARAMS', '__class__', '__delattr__', '__dict__',
    '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__',
    '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__',
    '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__',
    '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__',
    '__subclasshook__', '__weakref__', '_auth', '_authenticate', '_authenticator',
    '_content_type', '_data', '_default_negotiator', '_files', '_full_data',
    '_load_data_and_files', '_load_stream', '_not_authenticated', '_parse',
    '_request', '_stream', '_supports_form_parsing', '_user', 'accepted_media_type',
    'accepted_renderer', 'auth', 'authenticators', 'content_type', 'data',
    'force_plaintext_errors', 'negotiator', 'parser_context', 'parsers',
    'query_params', 'stream', 'successful_authenticator', 'user', 'version',
    'versioning_scheme']

    1. RBAC角色权限管理机制实现思路

    # 面向资源编程
    https://www.shiyanlou.com/v1/books/ # 请求后端 books书籍表中数据
    get
    post
    # 用户表
    # 角色表
    # 权限表
    get/post/put/delete 对应关系
    所有权限的本质是对数据库中表中数据增删改查的操作
    而这些增删改查的操作是通过前端不同路由,通过get、post、put、delete方法操作数据库的
    对权限的控制,最简单的方法就是判断当前用户是否可以对指定路由请求操作的权限
    把角色和这个角色能够访问的 url 和 请求方式进行关联(因为正是的业务逻辑用户权限划分力度可
    能非常细致)
    再简单的业务逻辑中这一张表就是权限表
    

      

    路由 资源(可能对应的是后端路由的 name名称,可以通过 name名称解析出对应路由)

    请求      方式
    说 明 
    https://www.shiyanlou.com/v1/books/ get 判断用户是否可以查询 books表中数据
    https://www.shiyanlou.com/v1/books/ post 判断用户是否可以添加 books表中数据
    https://www.shiyanlou.com/v1/books/ put 判断用户是否可以更新 books表中数据
    https://www.shiyanlou.com/v1/books/ delete 判断用户是否可以删除 books表中数据

    后端如何判断用户权限

    用户发送求方法 https://www.shiyanlou.com/v1/books/ 的url
    后端首先查询时哪一个用户,然后查询当前用户的角色
    最后判断这个角色是否可以访问 https://www.shiyanlou.com/v1/books/ 的对应方法即可
    如果这个角色有权限访问这个url就返回数据,不能访问就返回 401状态码
    

      

  • 相关阅读:
    搞懂分布式技术30:高并发解决方案——提升高并发量服务器性能解决思路
    海量数据处理
    海量数据处理
    Linux虚拟机的三种网络连接方式
    一篇文章,读懂Netty的高性能架构之道
    MYCAT学习笔记
    Java网络编程和NIO详解开篇:Java网络编程基础
    Java网络编程和NIO详解8:浅析mmap和Direct Buffer
    apache 2.4.23 只能本地访问,其他用户不能访问,提示You don't have permission to access
    python数据分析及展示(三)
  • 原文地址:https://www.cnblogs.com/gaodenghan/p/13953954.html
Copyright © 2011-2022 走看看