用户表的设计_角色和权限管理数据表设计

用户表的设计_角色和权限管理数据表设计基于角色的访问控制:(javaWeb编程口诀)用户表角色表,用户角色中间表。角色表权限表,角色权限中间表。一个用户可有多个角色,一个角色又可有多个权限。这就是用户-角色-权限授权的模型。为何不直接让用户对应权限?角色=一定数量的权限集合将特定用户的权限封装到一个角色。封装,或者面向对象设计的体现。不足:此时,在用户之上加一个userGroup用户组的概念。可给单个用户授权或特定用户组授权。这样,一次授权,多个用户得到相同权限,此时用户所拥有的权限是用户个人权限+用户所在组权限用户组,用户与角色三者的关系

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

Jetbrains全系列IDE稳定放心使用

基于角色的访问控制:(java Web 编程口诀)

用户表角色表,用户角色中间表。

角色表权限表,角色权限中间表。

用户表的设计_角色和权限管理数据表设计



一个用户可有多个角色,一个角色又可有多个权限。这就是用户-角色-权限授权的模型。

用户表的设计_角色和权限管理数据表设计

为何不直接让用户对应权限?

角色=一定数量的权限集合

将特定用户的权限封装到一个角色。

封装,或者面向对象设计的体现。



不足:

用户表的设计_角色和权限管理数据表设计

此时,在用户之上加一个userGroup用户组的概念。可给单个用户授权或特定用户组授权。

这样,一次授权,多个用户得到相同权限,此时用户所拥有的权限是用户个人权限+用户所在组权限

用户组,用户与角色三者的关系:

用户表的设计_角色和权限管理数据表设计



应用系统中权限的表现形式:

菜单访问,功能模块操作,文件上传,删改,按钮图片是否可见等。都属于权限控制范畴。

有些权限设计将功能操作作为一个类型,把文件菜单页面元素等作为另外一个类型,这就是用户-权限-资源的授权模型。

相关sql可参考:

用户、角色、权限表的关系(mysql)_harbor1981的博客-CSDN博客_数据库用户和角色的关系icon-default.png?t=M4ADhttps://blog.csdn.net/harbor1981/article/details/78149203

关于各种表的字段可参考:

用户·角色·权限·表的设计 – oo_o – 博客园 (cnblogs.com)icon-default.png?t=M4ADhttps://www.cnblogs.com/oo_o/p/8213448.html

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188738.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • intel AVX / AVX2指令学习资源

    intel AVX / AVX2指令学习资源IntelReferenceGuidesIntelIntrinsicsGuide一些解读

    2022年5月30日
    30
  • 钩子教程 – 原理(十六) : KeyboardProc

    钩子教程 – 原理(十六) : KeyboardProc原文地址:http://www.zdexe.com/program/201004/590.html方法11:KeyboardProcFunctionThe KeyboardProc

    2022年7月2日
    33
  • C语言学生成绩管理系统设计 《C语言程序设计》实训报告[通俗易懂]

    C语言学生成绩管理系统设计 《C语言程序设计》实训报告[通俗易懂]一、课程设计题目《学生成绩管理系统设计》二、实训目的(1)掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法。(2)掌握C++的基本概念和基础知识。(3)通过训练能够读懂较为复杂的C++语言源程序并具备基本C++语言程序设计的能力。(4)通过实训,培养自己编写、调试、分析程序的能力。(5)培养自己独立解决问题,查找资料的能力。同学之间相互帮助,相互交流,相互合作的团队精神。(6)培养自己良好的学习兴趣,独立的编程风格。(7)通过实训检查自己学习上的

    2022年6月20日
    32
  • Java 8系列之Stream的基本语法详解

    Java 8系列之Stream的基本语法详解本文转至:https://blog.csdn.net/io_field/article/details/54971761概述Stream是用函数式编程方式在集合类上进行复杂操作的工具,其集成了J

    2022年8月6日
    5
  • 【mysql 读写分离】10分钟了解读写分离的作用

    【mysql 读写分离】10分钟了解读写分离的作用1、what读写分离读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。2、why那么为什么要读写分离呢?因为数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的。但是数据库的“读”(从oracle读10

    2022年4月29日
    33
  • GDI绘制_matlab中intlinprog函数用法

    GDI绘制_matlab中intlinprog函数用法设备上下文绘图有很多种方法。例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制。此外,还可以使用CDC类的位图函数来输出位图到设备上下文中。BitBlt用于从原设备中复制位图到目标设备,语法格式如下:BOOLBitBlt(intx,inty,intnWidth,intnHeight,CDC*pSrcDC,intxSrc,intySrc,DWORDdwRop);x:目

    2022年10月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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