RBAC权限控制系统-手撸RBAC

手撸RBAC

一、概述

1、什么是RBAC

  • RBAC(Role-Based Access Control)是一种访问控制机制,它基于角色的概念,将权限授予特定的角色,而不是直接授予个体用户。

这种模型允许管理员根据用户的角色来管理他们的权限,从而简化了权限管理和维护。

2、为什么要使用RBAC

以下是一个使用RBAC和不使用RBAC的例子:

使用RBAC的例子:

假设有一个电子商务网站,有管理员、销售人员和普通用户三种角色。

  1. 管理员角色(Admin):拥有所有权限,可以管理网站的所有功能,包括添加/删除商品、管理用户、查看销售报告等。

  2. 销售人员角色(Salesperson):拥有部分权限,可以添加/编辑商品、查看销售报告,但不能管理用户或修改网站设置。

  3. 普通用户角色(User):拥有最少权限,只能浏览商品、下单购买,不能访问管理后台或其他敏感信息。

管理员将权限分配给不同的角色,例如:

  • 管理员角色拥有所有权限。
  • 销售人员角色拥有添加/编辑商品、查看销售报告等权限。
  • 普通用户角色只能浏览商品、下单购买。

这样,无论网站有多少用户,管理员只需管理角色和权限的关系,而不必为每个用户单独分配权限。

没使用RBAC的例子:

在没有RBAC的情况下,管理员需要为每个用户分配具体的权限,例如:

  • 用户A:可以添加商品、编辑商品、查看销售报告。
  • 用户B:可以编辑商品、查看销售报告,但不能添加商品。
  • 用户C:只能浏览商品,不能编辑或添加商品。

管理员需要为每个用户设置不同的权限,这样会导致管理复杂性增加。而且当用户角色发生变化或新增用户时,管理员需要不断地修改权限设置,增加了维护成本。

综上所述,使用RBAC可以简化权限管理,提高安全性和管理效率,而不使用RBAC则会增加管理复杂性和维护成本。

3、什么是RBAC

文字太繁琐,直接上图:

在这里插入图片描述

在这里插入图片描述

二、具体实现

  • 前端:Layui、Js、Ajax
  • 后端:Springboot、Mybatis-Plus、Mysql

在这里插入图片描述

仓库:https://github.com/red-velet/qrbac
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redvelet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值