如何做项目的权限控制?

news2024/10/5 22:24:00

(1)项目背景和问题
现有一个后台管理系统,共存在三种类型的人员:
普通用户:拥有查看、审核和下架商品的权限
管理员:普通用户权限 + 修改、删除商品的权限
超级管理员:管理员权限 + 添加、删除用户,绑定用户和角色权限
你来设计一个用户-角色-权限的模型,同时以Vue为例,说说前端如何实现?
(2)解决思路
应用业界经典的模型 RBAC(Role-based access control)来设计,也就是基于角色的访问控制。
RBAC是三个模型,两个关系:用户模型、角色模型和权限模型,用户和角色的关系、以及角色和权限的关系。

在这里插入图片描述

RBAC举例:
在这里插入图片描述

第一个表是用户模型,第二个表是角色模型,第三个表是权限模型。
第四个表是用户和角色的关系,第五个表是角色和权限的关系。
前端如何实现,拿 Vue 为例:
● 在路由 router.js 里面声明,从后端读取用户-角色-权限信息,通过 meta 标签来标示和记录。比如 meta: { roles: [ ‘R002’, ‘R003’] },表示该页面只有管理员或超级管理员角色才有资格进入。
● 。
● 读取 Vuex 的路由表信息,根据 Vuex 中可访问的路由,渲染侧边栏菜单组件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/46136.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于多领导者智能体的Olfati算法matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 人们通过群体行为的研究可以揭示群体智能的产生,群体智能是自组织的过程,将简单的个体通过交互作用或协作表现出来整体智能行为的特性称为“群体智能”。 “群体智能”应…

win10系统怎样分区,win10固态硬盘怎么分区

Windows10简称win10,是微软公司研发的跨平台操作系统,应用于计算机和平板电脑等设备。许多用户在购买一台新电脑后,开机后发现:电脑只有一个C盘,且C盘存储空间很大,为了更加合理地使用磁盘分区,…

Linux文件搜索命令find、which和whereis应用

记录:349 场景:在CentOS 7.9操作系统上,使用find命令在指定目录搜索文件,支持精确搜索和模糊搜索;使用which命令搜索一个命令所在的目录和别名信息。使用whereis命令搜索命令所在的目录和man帮助手册等相关的文件路径…

NR CSI(四) PMI

微信同步更新欢迎关注同名modem协议笔记 如38.214 5.1.1.1中所述,NR PDSCH 38214只有一种传输模式Transmission scheme 1,gNB将data(di)和DMRS一同预编码,之后通过无线信道,发送给UE,如下图。DMRS是用于信道估计,服务…

一键获取主图设计模板的工具平台

想设计一个好看又简介的电商商品模板?不懂如何设计排版电商商品主图?今天小编分享给你这个主图设计工具和设计教程,乔拓云不仅能快速上手设计,还有海量的主图设计素材能直接使用!只需要跟着小编下面的工具使用教程&…

C语言IO操作fread/fwrite/fflush

参考 1 2 IO操作 fread/fwrite/fflush: c语言标准规定的io流操作,建立在read/write/fsync之上;在用户层, 又增加了一层缓冲机制,用于减少内核调用次数,但是增加了一次内存拷贝; read/write/…

[附源码]SSM计算机毕业设计学生量化考核管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

mysql相关基础知识篇(五)

1.MySQL 事务的四大特性说一下? 原子性:事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。一致性:指在事务开始之前和事务结束以后,数据不会被破坏,假如 A 账户…

maven的pom.xml文件爆红,并且刷新maven无法下载依赖的解决方案

平时使用idea时,对于新手有时候会遇到一些比较尴尬的事情——依赖无法下载 分析一下,maven依赖无法下载有以下原因 (1)maven在项目中是否安装且环境变量是否配置成功 (2)maven依赖下载慢,考虑是…

Dubbo3入门实践,SpringBoot+Dubbo+Nacos+DubboAdmin

前言 学习Dubbo的过程中发现官网文章太过简单,而且没有提供完整的项目整合,导致入门门槛比较高,初学者不知从何下手。本文将在SpringBoot的基础上整合Dubbo,注册中心使用当下流行的Nacos,还将使用Dubbo-Admin来管理服务…

RationalDMIS 2020 叶片检测 -快速定义叶片截面线方法

1.快速定义叶片截面线方法 用多平面切割叶片CAD定义曲线的方法,用来快速定义叶片截面曲线;自定义多个平面,使用这些平面切割CAD,生成多个叶片曲线(BladeCurve):再将生成的叶片曲线(BladeCurve)自动打断为两个子曲线(Curve);上述所有生成的曲线(Curve)都会添加到元…

[附源码]Python计算机毕业设计Django常见Web漏洞对应POC应用系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

使用 Rainbond 搭建本地开发环境

在开发之前,你需要在本地安装各种开发工具和服务,比如:Mysql、Redis、Nacos 等等,我们都知道在个人电脑上安装这些服务相当的繁琐,可能会遇到很多问题,环境问题、依赖问题等等。 在需要团队协作业务联调的…

第十三章《集合》第5节:Map集合

List、Set和Queue都是Collection接口的子接口,因此从更高层次来说它们属于统一类型的集合。Map接口也代表一种集合,但它不是Collection子接口,因此它属于另一种类型的集合。Map用于保存具有映射关系的数据。映射关系的数据分为两部分,就好比电话本一样,如图13-20所示。 图…

运筹说 第82期 | 算法介绍之图与网络分析(二)

本期我们继续进行运筹学之图与网络分析算法的讲解,我们将对图与网络分析的基础知识进行一个简单的回顾,并介绍求解最大流问题和最小费用最大流的MATLAB和Python相关代码,以帮助大家利用工具快速求解最大流问题和最小费用最大流问题&#xff0…

Spring的Bean意义

一、Spring概述 1. Spring家族 官网:https://spring.ioSpring发展到今天已经形成了一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。 2. Spring体系结构 ⑴. Spring Framework系统架构图 Spring Framework是Spri…

四、【React-Router5】样式丢失问题

文章目录1、先上结论2、修改上一节代码3、发现问题4、分析原因5、3个解决办法1、先上结论 public/index.html 中 引入样式时不写 ./ 写 / [ 常用 ]public/index.html 中 引入样式时不写 ./ 写 %PUBLIC_URL% [ 常用 ]使用 HashRouter 2、修改上一节代码 点击访问 上节代码&…

[附源码]SSM计算机毕业设计学生档案管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【错误 :Segmentation fault 】以及gdb调试 core duumped文件

core dumped文件(核心转储文件) 当进程意外终止,系统可以将该进程的地址空间的内容急终止的一些其它信息转储到核心转储文件 它的触发条件,当系统收到以下信号时就会产生coredumped文件。 SIGABRT :异常终止(abort)时…

野火FPGA进阶(1):基于SPI协议的Flash驱动控制

文章目录第48讲:基于SPI协议的Flash驱动控制0. 理论部分1. Flash全擦除实验key_filterflash_be_ctrlspi_flash_betb_flash_be_ctrltb_spi_flash_be2. Flash扇区擦除实验key_filterflash_se_ctrlspi_flash_se3. 数据读操作key_filteruart_txflash_read_ctrlspi_flash…