RBAC权限控制

简介

RBAC 中文名称:基于角色的访问控制
作用:实现访问控制
核心:角色
英文名称:(Role-BasedAccess Control)
解释:一种思想.根据RBAC思想进行数据库设计,根据数据库设计更好的完成权限控制。
权限控制常用分类:
菜单功能:

  • url控制(控制访问不同的控制器.)
  • 资源可见性控制(页面某些元素对不同用户可见性是不同的)

一、需求

新增一个用户,具有所有菜单可见的功能

  • 新建一个用户.
  • 在用户-菜单关联表中把所有菜单和用户关联

二、使用rabc思想进行设计

如果需求确定每个用户只能有一个角色,在用户表中添
加外键列,直接应用角色表
如果每个用户可能有多个角色,按照下面进行设计.
需求:新增一个用户,具有所有菜单可见的功能.

  • 项目上线时已经创建了n个角色,且不同角色可能
    看不同的菜单。
  • 在用户-角色表中添加用户和角色的关系

1.图片展示

在这里插入图片描述
在这里插入图片描述

2.数据库设计(添加了角色管理)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

把角色和菜单联系到一起

在这里插入图片描述

3.代码设计

pojo类设计

在这里插入图片描述

页面设计

在这里插入图片描述
在这里插入图片描述

Controller层

(controller–>service–>mapper核实用户是否存在),在service层调用完mapper层查找到用户之后,在调用另一个根据角色id查找相对应的目录在这里插入图片描述

Service层

在这里插入图片描述
在这里插入图片描述

Mapper层

在这里插入图片描述

4.根据角色不同按钮不同

首先,我们要把按钮与角色牵扯上关系(与之前一样)
新建一个按钮表(grant表示一个按钮的代号)
在这里插入图片描述
在创建角色与按钮关联表
在这里插入图片描述

添加pojo
在这里插入图片描述

用户中添加
在这里插入图片描述

然后写根据角色rid查找相对应的mapper
在这里插入图片描述

在用户登录开始验证的代码中添加elements的注入
在这里插入图片描述

最后在main.jsp中用foreach语句循环 if判断(如果是grant就拥有此按钮)
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值