Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >通用权限的思路。带有数据库关系图

通用权限的思路。带有数据库关系图

作者头像
用户1174620
发布于 2018-02-26 07:58:35
发布于 2018-02-26 07:58:35
1.4K0
举报

写完了就要提交了,想向上传一个图片,IE居然死掉了,白写了,还得重来一遍。郁闷。

    上一篇主要是想说一下大体的思路,就是一个主要的框架,我觉得在做一件事情之前,都需要有一个初略的设计,就是中提的想法,抓住问题的关键点。所以对于权限问题,我觉得需要抓住下面的这四个问题;

    1、我们的软件里面有哪些功能?

    2、哪些人可以访问到哪些功能结点?

    3、访问到了页面后可以做哪些事情?(查询、添加、修改、删除、导出、打印等)

        (原来的说法:详细权限的划分)

    4、在同一个页面里哪些人可以看到那些信息

        (原来的说法:资源的访问权限)

    这是我的个人见解,是通过几个项目总结出来的,如果不全面、或者不正确的话,欢迎大家及时指正,共同努力、共同提高!

    我设计了下面的这几个表,来解决这些问题。这里我只想表示表之间的关联,至于字段我只是写了几个主要的,字段的设计嘛,大家肯定各有各的方式,我想我写出来主要的就可以了。

    我的英文比较差,还是直接用中文吧,这样更直接一些。

    如果看图不太清楚的话,可以到这里下载 visio 格式的文件。http://www.cnblogs.com/jyk/archive/2008/04/25/1170979.html

    先来看第一个问题,[项目—功能结点] 和 [项目—节点拥有的详细权限] 这两个表记录了项目里面有哪些功能结点和详细的功能,

[项目—功能结点]  功能节点,可以通过这个表来呈现左面的功能树。记录打开的页面和相关的信息。

[项目—节点拥有的详细权限] 按钮组,一个功能节点(主要是列表页面)有哪些按钮,比如“添加”按钮,“修改”按钮等。记录按钮的名称、打开的页面和相关的信息。

    这两个表是在设计阶段完成的,程序员可以根据这个来实现功能。

    解决了第一个问题后,第二个问题就好办了,[项目—角色] 和 [角色拥有的功能结点] 来 实现。

[项目—角色]  记录项目里面有哪些角色。

[角色拥有的功能结点] 记录一个角色拥有哪些功能结点,功能结点里面有哪些具体的操作(添加、修改等)

    不知道大家的项目的角色是在什么时候诞生的,是在设计的时候吗?还是程序做好之后由用户自己设计?我的做法是后者。因为客户比我们更清楚需要多少角色,需要什么样的角色,一个角色里有哪些功能更合适。

    我们可以做一个维护程序,让客户自行添加。先在角色表里添加一个角色,然后选择角色可以看到的功能页面,最后选择在这个功能结点里可以做的操作(添加、修改等)。这样一个角色就诞生了。

    角色有了之后,就可以给人员分配角色,或者是往角色里添加人员。这样就解决了哪些人可以访问哪些功能节点的问题。

    其实在设计角色的时候就把第三个问题也搞定了。

    【添加角色的截图】

    操作也是比较方便的,当点击“计划和日志”前面的方框(打对号)的时候会自动展开下面的子结点和子子节点,然后这些节点都会被选中,后面的按钮也会被选中。

当选中“工作日志”的时候,上面的节点和后面的按钮也会被选中。

    上面的信息全部来自数据库,也就是第一个图里的哪些表。

第四个问题还没有更好的解决方法,目前只能在程序里面硬编码。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-05-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通用权限的思路。只是一个简单的思路。
面对权限,我们要解决几个的问题。 第一个就是:我们的软件里面有哪些功能? —— 给用户自己维护角色作准备 比如添加新闻、添加产品、客户信息维护、合同管理等等,当然还可以细分一下, 客户信息维护又可以分为:客户基本信息、客户的联系人、客户报价、客户的合同等。 我的习惯是建立一个表,叫做功能结点表。 这个表可以生成左面的功能树,也可以记录项目里面一共有哪些功能。 这里的一个功能指的是两个页面,一个是列表页面,一个是表单页面。 列表页面包括查询、导出数据等功能,表单页面又可以再往下继续划分,就是可以
用户1174620
2018/02/07
5290
【自然框架】之通用权限:用PowerDesigner重新设计了一下数据库,有ER图和表关系图
      好像以前做的那个数据库设计大家都没太看懂,究其原因似乎大家都比较习惯使用PowerDesinger来设计。而我用Excel画出来的图大家看着特别别扭,而且还没有总体的图,也没有ER图,所以大家也就没有心情看了吧。呵呵。       PowerDesinger学习了一下,感谢Hayden Han 写的《PowerDesigner使用教程 —— 概念数据模型 》,通过这个文章学会了如何使用PowerDesinger来画ER图,这回画出来的应该是ER图了吧,呵呵。除了ER图,还有表关联图,而且还是由简
用户1174620
2018/02/26
2.8K0
【自然框架】之通用权限:用PowerDesigner重新设计了一下数据库,有ER图和表关系图
【自然框架】之通用权限(六):权限到节点
      “直率没有错,但是也要考虑对方的承受能力呀!对方都承受不了了,你还直率,那就是你的错了!”  ——我的名言,呵呵。     ====================我就是传说中的,可爱的、无奈的、笑笑而过的分割线====================       继续,这是第六章了。我发现,越来越难了。终于把表结构都介绍完了,来到了如何应用的阶段了。有回复说我是跳过了设计阶段,恩,设计阶段基本上是在我的脑子里。当然这是一个不好的习惯。不弄出来个UML、ER这样的东东,别人怎么理解呢?又怎么能
用户1174620
2018/02/08
8860
【自然框架】之通用权限(六):权限到节点
【自然框架】之通用权限:数据库设计的几种使用方式
      上次《【自然框架】之通用权限:用PowerDesigner重新设计了一下数据库,有ER图和表关系图 》里说了一大堆的表,好多人说太复杂了,做到权限到模块就可以了。       这个嘛,我也没有说所有的表都要一起使用呀。用哪些表那是根据情况来定的。也就是客户需求、项目需求和经验来决定了。       如果项目很简单,客户的需求也不复杂,那么做到权限到模块就可以了,大家都方便。那么这个时候“资源表组”里面就只需要用一个表就ok了,其他的表就不用了。       如果客户的需求很挑剔,客户的使用项目的
用户1174620
2018/02/26
1.1K0
【自然框架】之通用权限:数据库设计的几种使用方式
【角色】——分离开代码和权限需求,即实现代码和权限需求的解耦。
今天突然来了一个灵感,记录一下。以前总觉得说不清楚,看看这种表达方式是否可以说清。 两个原则:依赖接口编程,不要依赖实现编程;最小获知原则。 面向对象最重要的是什么?抽象。那么在权限这方面我们要如何抽
用户1174620
2018/02/26
1.1K0
【角色】——分离开代码和权限需求,即实现代码和权限需求的解耦。
【自然框架】之通用权限(四):角色表组
      继续,这是第四章了。这里涉及到了资源方面的,不过有点绕,所以这里先介绍一下表结构,在后面的章节里面,再举例子详细介绍。 通用权限想要写的文章目录:(这是第四章) 1、 简介、数据库的总体结构 2、 介绍人员表组 3、 介绍组织结构表组 4、 介绍角色表组 5、 介绍“项目自我描述表组” 6、 权限到节点 7、 权限到按钮 8、 权限到列表(表单、查询) 9、 权限的验证 10、 资源方面的权限 11、 角色管理的程序(给客户用的) 12、 权限下放 13、 个性化设置 A、、 【自然框架】之
用户1174620
2018/02/08
1.7K0
【自然框架】之通用权限(四):角色表组
【自然框架】之通用权限(一):简介、数据结构
      这次要写一整套的权限方面的文章了,无论我的想法好与不好,先写出来请大家来评判。这个系列我要详细的说明我的权限的思路、想法、实现方式、代码和Demo。可能有人会说,通用是达不到的,最多只能无限接近。恩,对于我来说,能够无限接近就可以了,当然我知道如果要达到这个目标并不是一件容易的事情,有难度才有挑战,才有意思。所以我会在权限方面不断的努力,不断的无限接近通用。也请大家多多帮忙,毕竟一个人的力量是有限的。       通用权限想要写的文章目录:(这是第一章) 1、 简介、数据库的总体结构 2、 介
用户1174620
2018/02/08
9860
【自然框架】之通用权限(一):简介、数据结构
【自然框架】之通用权限(三):组织结构表组
      继续,这是第三章了。拖得有点长,但是我也是一边写,一边在想办法,想怎么做才能让资源权限也能通用起来。看大家的回复也给了我一些提示,我也在修改我的方案。原来打算用来解决一个人虽然在业务一部,但是却可以看业务一部、业务二部的客户信息的情况,但是仔细想了一下,这么做也不行。不过还好,我又找到了另一个方法来解决,而且可以让资源权限更加通用。不过这个详细的方法要放在下一章的角色表组里面来说明了。(这是写这篇之前的想法,写完之后想法又变了。) 通用权限想要写的文章目录:(这是第三章) 1、 简介、数据库的
用户1174620
2018/02/08
2.5K0
【自然框架】之通用权限(三):组织结构表组
通用权限相关文档的下载【2009.9.7更新】
最新的下载地址:http://www.naturefw.com/nature/down.aspx 下面的地址都作废。       您可以在这里下载通用权限相关的文档、源代码、Demo等,当然现在只有一个数据的说明文档。以后会逐步增加。  不好意思,忘记说用户名、密码了。 管理员的用户名:admin,密码:123。其他用户的密码也都是123。 文档名称 上传日期 说明 详细介绍 下载 权限的演示 2009.9.9 6:28 权限到节点、按钮,权限到字段,权限到记录 数据库设计 2009.7
用户1174620
2018/02/08
8320
【自然框架】之通用权限(五):项目描述表组
      继续,这是第五章了。我发现了,写文章比写程序还要有难度。 通用权限想要写的文章目录:(这是第五章) 1、 简介、数据库的总体结构 2、 介绍人员表组 3、 介绍组织结构表组 4、 介绍角色表组 5、 介绍“项目自我描述表组” 6、 权限到节点 7、 权限到按钮 8、 权限到列表(表单、查询) 9、 权限的验证 10、 资源方面的权限 11、 角色管理的程序(给客户用的) 12、 权限下放 13、 个性化设置 A、 【自然框架】之通用权限(外传):杂谈 项
用户1174620
2018/02/08
9570
【自然框架】之通用权限(五):项目描述表组
rbac权限管理设计 7表_数据库角色权限表设计
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)
全栈程序员站长
2022/11/10
5.4K0
rbac权限管理设计 7表_数据库角色权限表设计
【自然框架】 权限 的视频演示(二): 权限到字段、权限到记录
      继续。这里演示权限到字段和权限到记录。       权限到字段有两种安全级别,       1、低安全级别。有些项目不需要做到控制每一个字段是否显示,那么就可以采用这种级别。低安全级别就是:如果一个节点里面没有设置可以访问哪些字段,那么就默认为不需要做到控制字段的程度,就是说节点里的字段都是可以访问的。这么做是为了操作方便。       2、高安全级别。有些项目要求非常严格,要严格控制每一个字段是否可以访问,那么就可以采用这种安全级别。高安全级别:如果一个节点里面没有设置可以访问哪些字段,那么就
用户1174620
2018/02/26
9290
【自然框架】之 “工作日志”和“选择日期”
      上周回家办点事,更新的事情就有耽搁了。对不住大家,所以这周要努力了。       我发现要做的事情太多了,做过了哪些事情也都记不清了,所以有必要弄个“工作计划”和“工作日志”出来。为什么要弄个“工作日志”呢?有这么几个好处。 工作日志:       1、可以记录下来某个时间段做了哪些事情,以便给工作计划提供可靠的依据。       2、更新程序的时候,可以告诉大家,新的程序、Demo都增加了哪些功能。       3、这个可以算是“项目管理”的一个很基本的功能吧,以后还可以扩展。 选择日期和时间
用户1174620
2018/02/26
9130
【自然框架】之 “工作日志”和“选择日期”
【自然框架】元数据的数据库结构的详细说明和示例(一):项目描述部分
1、 Manage_Function(节点信息) 字段名 中文名 类型 大小 默认值 说明 FunctionID 节点ID int 4 1 主键 ParentID 父节点ID int 4 1 员工姓名 ParentIDPath 父节点ID的路径 nvarchar 30 _ 添加、修改时使用 NoteTitle 节点名称 nvarchar 100 _ 节点名称 PowerMark 权限标识 nvarchar 50 _ 一般情况下等于FunctionID NoteLevel 级数 int 4
用户1174620
2018/02/26
6800
【自然框架】元数据的数据库结构的详细说明和示例(一):项目描述部分
【自然框架】之通用权限的Demo(二):添加人员、添加账户、添加角色里面的账户以及列表的权限验证
      看了一下上一次发Demo的日期6月15日,已经过了半个多月,这个速度也实在是太慢了。还是心情的原因,恩,心理承受能力太弱了,哈哈。不过还是要坚持的,要继续下去。       还是先说一下这次的Demo里增加的内容吧。       1、添加人员             这个很简陋了,主要就是为了能够添加一条人员信息,然后可以给这个人员来添加账户。不过后续我会把这一块完善一下的,能够实现一些基本的人员管理的功能。       2、添加账户             先选择一个人员,然后给这个人员添加一
用户1174620
2018/02/08
1K0
【自然框架】之通用权限的Demo(二):添加人员、添加账户、添加角色里面的账户以及列表的权限验证
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
最新版本:V2.0.0.7 。http://www.cnblogs.com/jyk/archive/2008/07/28/1255101.html 下载:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html ================================     增加了几个属性、两个事件、修改了一下内部的代码。分页控件的大体结构终于确定下来了。详细说明一下功能吧。 1、基本信息     控件名称:QuickPa
用户1174620
2018/02/26
6480
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3  【增加了使用说明】
分页控件的使用能不能再简单一点呢,能不能一个页面搞定所有的列表需求?
目的: 1、一个页面(DataList.aspx)可以显示多个模块的列表功能。      一般是有一个列表需求就需要一个aspx文件,如果有100个列表,那么就会有100个aspx文件,这么多的文件(包括.aspx.cs文件)里面的内容基本是一样的,这样写起来麻烦,管理起来也不容易,命名就是一个比较头痛的问题。文件多了。打开IDE、备份程序文件、编译所需要的时间都会增长。这些都是很郁闷的事情。那么我们能不能“合并”一下呢?所有(或者大部分没有特殊情况的)列表都是用同一个aspx文件呢。      
用户1174620
2018/02/08
1.2K0
分页控件的使用能不能再简单一点呢,能不能一个页面搞定所有的列表需求?
【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】
简单的需求,点点鼠标就可以了,那么复杂的需求呢?还是要写代码,哈哈。 不要被我误导了哦,关于什么时候写代码的问题,请看这里:http://www.cnblogs.com/jyk/archive/2009/06/21/1507594.html 单表的增删改查       我有一个梦想,那就是不用敲代码,只需要点点鼠标,就可以实现客户的需求。       可能您会说这是不可能的,但是有个梦想总没有错吧。我就是想实现我的这个梦想,虽然可能一辈子都达不到,但是我还想努力一下子,不想让自己后悔。如果不给自己找一
用户1174620
2018/02/26
8510
【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】
【自然框架】通用权限的视频演示(一):添加角色,权限到功能节点和按钮
      写了几个关于权限的东东,好像大家都不大理解,也不太清楚我的权限到底能做什么,所以想来想去还是弄点视频吧,就是屏幕录像,这样大家看起来就方便了吧。       为了大家便于观看视频,我先说一下视频的步骤。       1、添加角色,选择角色可以使用的功能节点和按钮。       2、选择用户,就是给角色里面添加用户。       3、用用户的账号登录,查看效果。       4、修改角色可以使用的按钮,查看效果。       这里举了一个很简单的例子——新闻维护,有两个角色,一个是“新闻维护”一个
用户1174620
2018/02/26
9670
【自然框架】之通用权限(二):人员表组
      继续,这是第二章了。本来想在这一章里面介绍三个表组来着,但是我有点写不好的感觉,还是多分几章吧,这一章就只介绍人员表组。第二章到第五章主要是介绍表结构。我是习惯使用Excel来设计表,一开始的时候只能记录表名、字段名、字段类型、字段说明等信息,但是一直没能找到如何使用Excel来体现出来表之间的关系。前一阵子(好像是去年)突然想到了可以使用“图表”+图形(比如箭头)的方式来做表关系,第一章里的那几个图就是这么弄出来的,看着还凑合吧。       至于为什么不用PowerDesigner来做,个
用户1174620
2018/02/08
8020
【自然框架】之通用权限(二):人员表组
推荐阅读
通用权限的思路。只是一个简单的思路。
5290
【自然框架】之通用权限:用PowerDesigner重新设计了一下数据库,有ER图和表关系图
2.8K0
【自然框架】之通用权限(六):权限到节点
8860
【自然框架】之通用权限:数据库设计的几种使用方式
1.1K0
【角色】——分离开代码和权限需求,即实现代码和权限需求的解耦。
1.1K0
【自然框架】之通用权限(四):角色表组
1.7K0
【自然框架】之通用权限(一):简介、数据结构
9860
【自然框架】之通用权限(三):组织结构表组
2.5K0
通用权限相关文档的下载【2009.9.7更新】
8320
【自然框架】之通用权限(五):项目描述表组
9570
rbac权限管理设计 7表_数据库角色权限表设计
5.4K0
【自然框架】 权限 的视频演示(二): 权限到字段、权限到记录
9290
【自然框架】之 “工作日志”和“选择日期”
9130
【自然框架】元数据的数据库结构的详细说明和示例(一):项目描述部分
6800
【自然框架】之通用权限的Demo(二):添加人员、添加账户、添加角色里面的账户以及列表的权限验证
1K0
【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
6480
分页控件的使用能不能再简单一点呢,能不能一个页面搞定所有的列表需求?
1.2K0
【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】
8510
【自然框架】通用权限的视频演示(一):添加角色,权限到功能节点和按钮
9670
【自然框架】之通用权限(二):人员表组
8020
相关推荐
通用权限的思路。只是一个简单的思路。
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档