ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RBAC介绍与美化admin后台页面

2022-06-22 18:32:07  阅读:172  来源: 互联网

标签:角色 admin django RBAC 权限 id 页面


目录

RBAC介绍

RBAC是基于角色的访问控制(Role-Based Access Control),在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。

RBAC用在公司内部系统用的多,对外的系统用的少

  • 权限:员工管理、工资管理、测试...
  • 角色(组、部门):开发部门、测试部门...
  • 用户:tom、tony...

比如如下几个表设计:

用户表:

id username password
1 tom 123
2 tony 123
3 jack 123

权限表:

id permission url
1 查看 /list/
2 添加 /create/
3 编辑 /update/
4 删除 /destroy/

角色表:

id role
1 管理员
2 开发部门
3 测试部门

角色与权限关系表:

id role_id permission_id
1 1 1
2 1 2
3 1 3
4 1 4
...

用户与角色关系表:

id user_id role_id
1 1 1
2 2 2
3 3 3

基本的RBAC有五张表,RBAC也有六张表的情况,就是给权限表和用户表也建立多对多关系,因为可能有些用户只需要用到其中一个权限就够了,但是又没有合适的角色,所以给权限表和用户表建立关联。

Django的admin后台管理就是基于RBAC的:

  • auth_user:用户表
  • auth_permission:权限表
  • auth_group:组,角色表
  • auth_user_groups:用户和组中间表
  • auth_group_permissions:组和权限中间表
  • auth_user_user_permissions:用户和权限中间表

美化admin后台管理

Simple UI美化admin后台管理页面。

Simple UI是一款前后端分离的自带rbac的后台管理框架,由django+drf+vue=djagnovueadmin组成,官方网址:https://simpleui.72wo.com/simpleui/

快速上手

安装模块:

pip install django-simpleui

项目配置文件配置:

  INSTALLED_APPS = [
      'simpleui',  # 添加
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
      ...
  ]

完成。

admin登录界面

image

admin管理首页

image

标签:角色,admin,django,RBAC,权限,id,页面
来源: https://www.cnblogs.com/yume-zbh/p/16401881.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有