SpringBoot整合SpringSecurity实现权限控制(二):权限数据基本模型设计

SpringBoot整合SpringSecurity实现权限控制(⼆):权限数据基本模型设计系列⽂章⽬录
本⽂⽬录
前⾔
在上篇⽂章中我们仅仅使⽤了静态权限数据进⾏了模拟测试。实际正常情况的流程是:
挤压比
1. 由管理员给⽤户分配权限,权限数据写到数据库中。
2. 后台服务在进⾏⽤户认证时从数据库读取⽤户的权限数据(动态数据)。led球泡灯罩
本⽂将通过RBAC( Role-Based Access Control:基于⾓⾊的访问控制策略)进⾏权限模型设计
在线管理系统
⼀、RBAC是什么?
通过⽤户关联⾓⾊,⾓⾊关联功能资源)的⽅式,使得⽤户间接持有了功能(资源)。
⽰例
登船梯
⼆、数据模型
根据以上RBAC的理解,我们⼀般会对数据模型这样设计:
1. ⽤户表:存储⽤户信息,⽐如:张三、李四
2. ⾓⾊表:存储⾓⾊信息,⽐如:系统管理员,普通⽤户
3. ⽤户⾓⾊表:存储⽤户与⾓⾊的对应关系,⼀个⽤户可以拥有多个⾓⾊
4. 功能(资源)表:存储系统功能资源(⼀般为某个菜单或菜单下的某些操作),⽐如⽤户管理菜单,⽤户的新增、修改、删除等
5. 权限表:存储⾓⾊与系统功能资源的对应关系,⼀个⾓⾊可以拥有多个功能。
巧克力工艺品
ER图
三、数据模型的测试
建⽴了以上的模型,我们可以通过⼀段简单的SQL语句来查询某个⽤户所拥有的权限:
SELECT
漏缝板生产线*
FROM
sys_menu
WHERE
id IN(SELECT menu_id FROM sys_permission WHERE role_id IN(SELECT role_id FROM sys_user_role WHERE user_id =15))

本文发布于:2024-09-21 01:44:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/99281.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权限   数据   资源   功能   菜单   设计   模型   实际
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议