首页 > 其他分享 >RBAC(权限管理系统)简介

RBAC(权限管理系统)简介

时间:2023-08-18 20:22:52浏览次数:36  
标签:关系 角色 管理系统 简介 实体 用户 RBAC 权限

权限在日常办公系统中算是一个比较常见的基本功能,对于存在有权限模块的系统中规定了登录用户能够操作哪些资源,不能够操作哪些资源。借助权限模块可以有效的控制参与到系统不同身份人员要具体做的操作,可以说一个成熟的后端系统离不开一个比较完善的权限管理系统。

什么是RBAC?

RBAC权限管理系统是一个根据用户的角色级别来控制用户的访问级别,使不同的用户只能访问当前角色级别下的功能。

什么是RBAC中的角色?

在RBAC框架中,角色是用于在新增用户时直接通过角色来分配用户的访问权限。

什么是RBAC中的权限?

权限(permission)时在RBAC(权限管理系统)中根据不同的角色分配不同的访问权限,控制该角色哪些功能可以操作那些不能操作,用户只能通过角色访问特定的功能。

权限管理的方式

 RBAC的组成

在RBAC模型里面,有3个基础组成部分,分别是:用户、角色和权限,它们之间的关系如下图所示

 

 

  • User(用户):每个用户都有唯一的UID识别,并被授予不同的角色
  • Role(角色):不同角色具有不同的权限
  • Permission(权限):访问权限
  • 用户-角色映射:用户和角色之间的映射关系
  • 角色-权限映射:角色和权限之间的映射

例如下图,管理员和普通用户被授予不同的权限,普通用户只能去修改和查看个人信息,而不能创建用户和冻结用户,而管理员由于被授予所有权限,所以可以做所有操作。

 

实体对应关系

用户-角色-资源实体间对应关系图分析如下

 

 

这里用户与角色实体对应关系为多对多,角色与资源对应关系同样为多对多关系,所以在实体设计上用户与角色间增加用户角色实体,将多对多的对应关系拆分为一对多,同理,角色与资源多对多对应关系拆分出中间实体对象权限实体。

 

表结构设计

从上面实体对应关系分析,权限表设计分为以下基本的五张表结构:用户表(t_user),角色表(t_role),t_user_role(用户角色表),资源表(t_module),权限表(t_permission),表结构关系如下:

 

模块划分

从表结构设计可以看出:这里有三张主表(t_user,t_role,t_module),功能实现上这里划分为三大模块:

用户管理

  • 用户基本信息维护
  • 用户角色分配

角色管理

  • 角色基本信息维护
  • 角色授权(给角色分配能够操作的菜单)
  • 角色认证(给角色拥有的权限进行校验)

资源管理

  • 资源信息维护
  • 菜单输出动态控制

 

 

标签:关系,角色,管理系统,简介,实体,用户,RBAC,权限
From: https://www.cnblogs.com/weiyibo/p/17641445.html

相关文章

  • 基于平台的城市排水泵站管理系统设计--安科瑞张田田
    近年来我国城市内涝灾害频发,造成人员伤亡以及经济损失严重,严重威胁着城市的安全。数据显示,2015-2018年我国平均每年受淹或发生内涝城市的数量约占我国城市数量的1/5;人民生命财产也损失严重,据不完全统计,2021年截至上半年,我国因洪涝灾害所死亡失踪人数达26人,造成经济损失达135亿元。......
  • protojson简介
    google.golang.org/protobuf/encoding/protojson是Go语言中的一个库,用于处理ProtocolBuffers(protobuf)和JSON之间的转换,遵循https://protobuf.dev/programming-guides/proto3#json实现。以下是该库的一些主要功能:将protobuf消息转换为JSON格式:这是通过Marshal或Ma......
  • (一)Qt与Python—PySide的简介及安装
    目录1.Pyside的简介2.pyside的安装3.pyside的Helloworld程序4.参考文献及网站连接1.Pyside的简介​PySide(在本文中指代PySide2和PySide6)是一个Python的图形化界面(GUI)库,由C++版的Qt开发而来,在用法上基本与C++版没有特别大的差异。PySide是一个python绑定的跨平台图形化......
  • Prototype 原型模式简介与 C# 示例【创建型4】【设计模式来了_4】
    〇、简介1、什么是原型模式?一句话解释:  针对比较耗时的对象创建过程,通过原型的Clone方法来克隆对象,而非重新创建。原型设计模式(PrototypeDesignPattern)是一种创建型设计模式,其主要目的是通过复制已有对象来创建新的对象,而无需通过实例化类并初始化其属性。这种模式在需......
  • 交通枢纽智能可视化综合管理系统解决方案
    一、行业需求交通枢纽是城市管理中一个典型的跨应用场景,如铁路、公路、航空、内河航运、海港等,人流、车流量较多,环境复杂,易发生突发情况,因此安全和安保是非常重要的考虑因素。交通枢纽的运营管理体系建设需要考虑到人员疏散、消防设施、监控系统等方面的安全要求,以防止恐怖袭击和其......
  • 【Web开发指南】MyEclipse XML编辑器的高级功能简介
    1.在MyEclipse中编辑XML本文档介绍MyEclipse XML编辑器中的一些可用的函数,MyEclipse XML编辑器包括高级XML编辑,例如:语法高亮显示标签和属性内容辅助实时验证(当您输入时)文档内容的源(Source)视图、设计(Design)视图和大纲(Outline)视图文档格式内容辅助模板2.编辑模式使用MyEclipse......
  • 图纸管理系统价格 图纸管理软件多少钱
    图纸管理系统价格图纸管理软件多少钱图纸管理系统的价格因厂商和功能而异。以下是一些常见的图纸管理系统及其大致价格范围供参考:【彩虹图纸管理系统】集成PLM、PDM、EDM、ERB等多个软件功能;是一款产品图纸全生命周期管理软件系统,功能齐全:图文档管理、产品管理、项目管理、流程管......
  • 【Web开发指南】MyEclipse XML编辑器的高级功能简介
    MyEclipsev2023.1.2离线版下载1.在MyEclipse中编辑XML本文档介绍MyEclipse XML编辑器中的一些可用的函数,MyEclipse XML编辑器包括高级XML编辑,例如:语法高亮显示标签和属性内容辅助实时验证(当您输入时)文档内容的源(Source)视图、设计(Design)视图和大纲(Outline)视图文档格......
  • ROCm平台简介及使用
    前言 参考1. ROCm平台简介及使用汇总_后来居上_m的博客-CSDN博客;2. AMDROCm™Documentation—ROCm5.6.0DocumentationHome;3. AMD@SC15:BoltzmannInitiativeAnnounced-C++andCUDACompilersforAMDGPUs;4. HIPIFYDocumentation—HIPIFYDocumentati......
  • VUE后台管理系统(三)
    SKU管理模块开发先完成静态组件###Sku.index.vue<template><div><el-tablestyle="width:100%"border><el-table-columntype="index"label="序号"width="80px"align="center">......