rbac权限管理设计 7表_数据库角色权限表设计

rbac权限管理设计 7表_数据库角色权限表设计RBAC(Role-BasedAccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)当用户量非常多的时候,逐一的给用户授权角色是一件很痛苦的事情,于是引出组的概念。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)

rbac权限管理设计 7表_数据库角色权限表设计

当用户量非常多的时候,逐一的给用户授权角色是一件很痛苦的事情,于是引出组的概念。用户拥有的所有权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和。

rbac权限管理设计 7表_数据库角色权限表设计


OK,用户到角色的好理解,接下来看权限

权限表现成什么?对功能模块的操作,对上传文件的删改,菜单的访问,甚至页面上某个按钮、某个图片的可见性控制,都可属于权限的范畴。有些权限设计,会把功能操作作为一类,而把文件、菜单、页面元素等作为另一类,这样构成“用户-角色-权限-资源”的授权模型。

操作的权限:

功能,cred

菜单的访问

页面按钮的点击

内容:

图片的可见性

菜单的可见

按钮的可见

这些都是基本的权限。

powerdesigen设计图如下:

rbac权限管理设计 7表_数据库角色权限表设计

权限表与权限菜单关联表、权限菜单关联表与菜单表都是一对一的关系。(文件、页面权限点、功能操作等同理)。也就是每添加一个菜单,就得同时往这三个表中各插入一条记录。这样,可以不需要权限菜单关联表,让权限表与菜单表直接关联,此时,须在权限表中新增一列用来保存菜单的ID,权限表通过“权限类型”和这个ID来区分是种类型下的哪条记录。

权限表和功能操作表多对多的关系。

请留意权限表中有一列“权限类型”,我们根据它的取值来区分是哪一类权限,如“MENU”表示菜单的访问权限、“OPERATION”表示功能模块的操作权限、“FILE”表示文件的修改权限、“ELEMENT”表示页面元素的可见性控制等。

总的设计图:

rbac权限管理设计 7表_数据库角色权限表设计

实际项目中我们涉及到的权限。

菜单权限,按钮操作性等

参考文献:

http://blog.csdn.net/painsonline/article/details/7183613/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187922.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Mac Charles抓包配置

    Mac Charles抓包配置MacCharles抓包配置1.基本安装直接在官网下载,需要破解的同学可以使用这个,我也是借花献佛,这样你可以时刻来抓包了,RegisteredName:https://zhile.ioLicenseKey:48891cf209c6d32bf4找不到在哪设置license的同学看下图:2CA证书安装点击安装后,会自动打开钥匙串,一定要记住进入钥匙串,点击Charles…

  • NFV概述_NFV技术

    NFV概述_NFV技术NFV(网络功能虚拟化)

  • LeetCode Solutions : Swap Nodes in Pairs

    LeetCode Solutions : Swap Nodes in Pairs

  • [已解决]踩过的坑之mysql连接报“Communications link failure”错误

    [已解决]踩过的坑之mysql连接报“Communications link failure”错误目录前言第一种方法:第二种方法第三种方法(适用于项目和数据库在同一台服务器)第四种方法第五种方法(项目和数据库不在同一台服务器)总结前言先给大家简述一下我的坑吧,(我用的是mysql,至于oracle有没有这样的问题,有心的小伙伴们可以测试一下哈),在自己做个javaweb测试项目的时候,因为买的是云服务器,所以数据库连接的是用ip地址,用IDE开发好…

  • unity摄像机深度图使用[通俗易懂]

    unity摄像机深度图使用[通俗易懂]https://www.jianshu.com/p/80a932d1f11ehttps://www.jianshu.com/p/178f3a065187https://www.cnblogs.com/czaoth/p/5830735.htmlhttps://www.cnblogs.com/jackmaxwell/p/7117909.htmlhttps://docs.unity3d.com/…

  • SecureCRT 乱码问题「建议收藏」

    出现的乱码有几种情况
    1)显示乱码
    2)vi编辑时显示乱码
     
    之前开始使用它的时候,第一次遇到的就是显示乱码,它的解决方案是:
     
    1:最简单的方法是直接改
      SessionOption→选字体(新宋体)→再选Characterencoding(选UTF-8)
      然后再修改远程linux机器的配置
      vi/etc/sysconfig/i18n
      把LANG

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号