RBAC介绍、simpleui的使用


RBAC介绍(****)

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

# rbac权限控制一般都是用在公司内部的管理系统中(python的django写公司内部项目较多,rbac很重要)
# Django的 Auth组件 采用的认证规则就是RBAC

# rbac表分析
	-用户表:auth_user
    -角色表(部门,组表):auth_group
    -权限表:auth_permission
    
    -角色和权限是多对多---》中间表:auth_group_permissions
    -用户和角色是多对多---》中间表:auth_user_groups
    
    -django的auth多写了一个表,用户和权限的多对多:auth_user_user_permissions
    
# djago有个admin后台管理,配合auth,可以快速搭建出一个基于rbac的后台管理系统   

# 几年前,好多公司内部的管理系统,就是使用django的admin快速搭建的
# admin不好看,第三方美化
	-django 1.x上很火的 Xadmin:前端基于jq+bootstrap,2.x上支持不好了,3.x直接不能用了,而且作者也弃坑了,他又做了一个前后端分离的admin
    -simple-ui:djanog 3.x

simple-ui的使用(对admin美化)

1 pip3 install django-simpleui
2 自定义左侧导航栏
	import time
SIMPLEUI_CONFIG = {
    'system_keep': False,
    'menu_display': ['Simpleui','权限认证', '多级菜单测试','动态菜单测试'],      # 开启排序和过滤功能, 不填此字段为默认排序和全部显示, 空列表[] 为全部不显示.
    'dynamic': True,    # 设置是否开启动态菜单, 默认为False. 如果开启, 则会在每次用户登陆时动态展示菜单内容
    'menus': [
        {
        'name': 'Simpleui',
        'icon': 'fas fa-code',
        'url': '/home/' # 自己的地址(前后端混合项目)
    },
        {
        'app': 'auth',
        'name': '权限认证',
        'icon': 'fas fa-user-shield',
        'models': [{
            'name': '用户',
            'icon': 'fa fa-user',
            'url': 'auth/user/'
        }]
    },
        {
        'name': '多级菜单测试',
        'icon': 'fa fa-file',
      	# 二级菜单
        'models': [
            {
            'name': 'Baidu',
            'icon': 'far fa-surprise',
            # 第三级菜单 ,
            'models': [
                {
                  'name': '爱奇艺',
                  'url': 'https://www.iqiyi.com/dianshiju/'
                  # 第四级就不支持了,element只支持了3级
                }, {
                    'name': '百度问答',
                    'icon': 'far fa-surprise',
                    'url': 'https://zhidao.baidu.com/'
                }
            ]
        },
            {
            'name': '内网穿透',
            'url': 'https://www.wezoz.com',
            'icon': 'fab fa-github'
        }]
    },
        {
        'name': '动态菜单测试' ,
        'icon': 'fa fa-desktop',
        'models': [{
            'name': time.time(),
            'url': 'http://baidu.com',
            'icon': 'far fa-surprise'
        }]
    }]
}




## 智慧大屏
https://gitee.com/kevin_chou/dataVIS


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM