【技术】基于数据库的权限设计

基于数据库的权限设计

基于数据库的权限设计

目前大部分的系统都需要权限控制,这也是系统的标配,目前市面上已经有很多成熟的权限框架,比如:Shiro、Spring Security等。这些认证权限框架还是离不开数据库的支持。

表设计

说到权限,必定和用户挂钩,因为用户才是操作系统的核心,所以必须设计用户表。
我们可以给用户分配权限。
此时问题就来了,使用系统的用户有很多,有可能多个用户拥有相同的权限,需要频繁给用户分配权限,相对比较麻烦。如何解决呢?
一般来说拥有相同权限的用户都属于同一类人群,可以给这类人群赋予同一个标识,这个标识就是角色。只需要给角色划分好权限,再给用户划分角色,这样管理就相对轻松了。

表结构如下:

  1. 用户表:用户账号和密码
  2. 角色表:划分系统使用角色
  3. 权限表:罗列系统所有资源,下图中仅罗列了菜单,对于菜单下的按钮也可也设计进去
  4. 用户角色表:关联表,把用户和角色挂钩
  5. 角色权限表:关联表,把角色和权限挂钩
    在这里插入图片描述

操作流程

  1. 用户登录
  2. 用户登录之后,根据用户ID,匹配【用户角色表】,查询其对应的角色。
  3. 根据查询到的角色ID,匹配【角色权限表】,查询其对应的权限(菜单)。
  4. 最后在页面展示菜单的信息。

不同的角色查询到的菜单不同,也就达到了权限的控制。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值