RBAC基于角色的控制访问权限(自己用,简略版)

本文探讨了Rbac模型在权限控制中的应用,重点介绍了如何通过设计数据库表结构(如角色表、菜单信息表和用户信息表)来实现用户权限差异化,解决静态菜单带来的问题。学习关键在于角色设计和数据库关联,以实现网页功能与用户权限的解耦。
摘要由CSDN通过智能技术生成

rbac: 一种数据库设计思想,根据设计数据库设计方案,完成项目的权限控制。

经常需要添加权限的场景

1.1 不同用户登录后看到的菜单是不一样的.

1.2 不同用户看到的页面效果不一样

1.2.1 有的用户可以看见”授权”按钮,或有的用户可以看见”删除”按钮

1.3 不同用户完成的功能是不一样的.

1.3.1 有的用户可以执行删除,有的可以执行新增.

学习RBAC需要掌握的两项

2.1 如何设计数据库中表

2.2 如何根据数据库完成项目

RBAC核心是角色,在数据库设计时一定有角色表.其他的表是根据具体需求看是否添加.

传统数据库原型及其问题:

        在项目开发过程中,我们对网页的菜单都是直接声明写死的,即每个人只要访问了此页面看到的内容就是相同的,具有的权限也是相同的。如果我们需要修改菜单的名字或者菜单跳转的页面就必须对网页作出修改,非常麻烦。如果项目已经有用户使用了这种菜单声明方式,在修改时就会造成功能不可用。

解决方法:

出现这种问题的原因是我们在创建网页时就将网页的基本功能写死,导致网页的功能和网页的耦合性过高,这时我们就可以通过RBAC思想来解决此问题,将用户所拥有的的菜单信息权限存放到数据库中,从而实现网页与功能的解耦。

实现:

菜单信息表存储菜单信息:菜单id,菜单名,菜单的url地址,菜单的层级,以及菜单的描述

角色表存储信息:角色名称,角色id,以及关于角色的描述

角色菜单信息表:角色id,菜单id

用户信息表:用户id,密码,角色id

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值