关于权限系统设计的思考

文章探讨了库存管理系统中用户权限管理的问题,指出1对多的用户与权限关联可能导致过多操作和权限管理复杂性。提出使用RBAC(基于角色的权限访问控制)模型来优化,通过角色将用户与权限解耦,降低管理复杂度,使得用户通过角色关联一组权限,简化权限维护过程。
摘要由CSDN通过智能技术生成

假设在库存管理系统中,一些管理员可以对库存进行增删改查,一些管理员只能查看。我们可以建立一个权限表和一个用户表,让用户ID与操作权限一一对应。比如用户A可以删除,用户A可以修改…这样一来,用户ID与权限是一个1对多的关系。此时如果涉及到的用户操作权限过多的问题,比如我们常见的系统中,菜单分为多级,那么多级菜单间的权限设定就要频繁的操作权限表。并且,权限的下放和权限的回收都要格外的谨慎,以防止用户权限被漏掉。这种用户信息与权限信息1对多且强耦合的表设计是不成功的。
在这里插入图片描述

用以下方式来优化上述问题。

  1. 权限串
    用字符串或数字bit来表示权限信息,一个用户对应一个权限串。
    (通过这种操作,可以将用户ID与权限信息做到1对1的关系)
  2. RBAC
    RBAC(Role-Based Access Controll)基于角色的权限访问控制。
    三个概念:
    用户(User):一个用户可以拥有若干个角色
    角色(Role):一个角色可以拥有若干个权限
    权限(Permission):落实到具体操作行为(查看,删除,修改,添加)
    用角色将用户与权限进行解耦,让一个角色对应一组权限。让一个用户对应一组角色。此时用户直接对应的是角色ID,远比用户直接对应权限要轻松的多。

在这里插入图片描述
用鼠标写字儿有些麻烦,各位多多包含。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

metabit

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

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

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

打赏作者

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

抵扣说明:

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

余额充值