【自然框架】之通用权限(一):简介、数据结构

 

      这次要写一整套的权限方面的文章了,无论我的想法好与不好,先写出来请大家来评判。这个系列我要详细的说明我的权限的思路、想法、实现方式、代码和Demo。可能有人会说,通用是达不到的,最多只能无限接近。恩,对于我来说,能够无限接近就可以了,当然我知道如果要达到这个目标并不是一件容易的事情,有难度才有挑战,才有意思。所以我会在权限方面不断的努力,不断的无限接近通用。也请大家多多帮忙,毕竟一个人的力量是有限的。

      

      通用权限想要写的文章目录:(这是第一章)

 

1、 简介、数据库的总体结构
2、 介绍人员表组
3、 介绍组织结构表组
4、 介绍角色表组
5、 介绍“项目自我描述表组”
6、 权限到节点
7、 权限到按钮
8、 权限到列表(表单、查询)
9、 权限的验证
10、 资源方面的权限
11、 角色管理的程序(给客户用的)
12、 权限下放
13、 个性化设置

A、 【自然框架】之通用权限(外传):杂谈

 

 

简介

(以下都是我的个人理解,不一定正确。如果有误请多多指正。)

1、何谓权限

      我说一下我的理解,权限从字面上看就是“权力的限制”。在软件里面,权力是什么呢?就是一种操作、一个功能点。那么在软件里面权限就可以理解为“对操作(功能)的限制”,说白了就是某人能不能做某件事情、某个操作。

 

2、何谓角色

      角色是权限的集合,一个角色可以拥有若干的权限,一个人拥有了这个角色,那么就拥有了这个角色所拥有的权限。就是方便设置权限的一种产物。

3、何谓用户组

      这个应该来自于windows操作系统吧,windows操作系统里面有用户和用户组,给一个用户组设定好权限后,用户组里面的用户就具有了用户组的权限。我觉得应该和角色是一个意思。所以我的通用权限里面只有角色,而没有用户组。

 

4、如何来通用?

      我所说的“通用”,就是不写死在代码里面,需求有变化的时候,尽量不用修改代码就可以让客户满意。我的思路就是把权限和代码分离开来,写程序的时候不用关心权限的事情,只要“切成小片”就可以了。而设置角色的时候也不用考虑程序具体是什么样子的,或者说不会由于程序不适合而需要再去改程序。

5、权限不仅是操作,还有资源

      前面说了,权限是对某个操作的限制,如果只有操作那就好办了,但是问题是除了操作之外还有资源。比如CMS里面的客户信息,业务员只能修改自己添加的客户,不能修改和查看其他人添加的客户信息;而业务一部经理可以查看业务一部的客户信息,不能查看其他业务部的客户信息;业务部的总经理可以查看全部的客户信息。业务员的可以根据UserID来过滤,而经理级别的就要用部门ID来过滤了。这就比较麻烦,如何才能把资源的权限给抽象出来呢?这个好像就不太容易了,而且这个还不是最麻烦的,更麻烦一点的是,比如张经理是业务一部的经理,但是他不仅可以查看业务一部的客户信息,而且还可以查看业务二部的客户信息,为什么呢?因为他还兼任业务二部的经理(当然还可以是其他原因)。更复杂的情况相信还有很多。

      另外我刚才说的只是资源权限的一小部分,而我经历的项目不多,而且也不是很复杂,所以这方面积累的经验还远远不够,经验不够就不好抽象了。本来想去某人那里去学习点经验的,但是某种原因不想去了。所以嘛,在这里借此机会,向大家发个请求:如果您遇到了资源权限方面的需求,还请您把客户的需求告诉我,我好积累更多的经验(已知条件),好把资源权限做得更好,谢谢大家了。当然了,我想出来的办法都会写到我的blog里面的。

 

实现思路和数据库设计

      因为我是老脑筋了,面向数据库的,所以最先想到的就是如何来设计数据库,所以下面就说一下思路和数据库。

    权限涉及到的部分:人员组织机构项目描述角色。其中角色是权限自己的,而人员、组织机构、项目描述则是相关联的部分。

    “项目描述”是什么? 

    您可能会对项目描述比较陌生,这是什么东东?这个对于我来说是非常重要的,如果没有这个项目描述,我是做不到“通用”的。(注意:我是说我不用项目描述做不到通用,并不是说其他人也都做不到。)

    我是喜欢使用数据库的,所以这个权限我也用数据库的形式来体现了。先画一个图来看看上面四个部分的关系。

 

下面是四个部分里面的表的关系。

【人员】 

 

【角色】 

 

 

【组织机构】 

 

 

【项目描述】  

 

 

      这一章就这样结束了,没有什么具体的东东,希望没有倒大家的胃口。下一章就会介绍详细详细介绍这几个数据库,包括思路、用意和用法。争取在一周内把权限都写完。您的留言就是我的动力,谢谢!

 

 

如果您想看数据库说明文档(人员、角色、组织机构、项目描述、还有上一篇里的图)的话,可以到这里下载:http://www.cnblogs.com/jyk/archive/2009/06/06/1497616.html

 

时间: 2024-09-20 06:09:18

【自然框架】之通用权限(一):简介、数据结构的相关文章

【自然框架】通用权限的视频演示(一):添加角色,权限到功能节点和按钮

      写了几个关于权限的东东,好像大家都不大理解,也不太清楚我的权限到底能做什么,所以想来想去还是弄点视频吧,就是屏幕录像,这样大家看起来就方便了吧.       为了大家便于观看视频,我先说一下视频的步骤.      1.添加角色,选择角色可以使用的功能节点和按钮.      2.选择用户,就是给角色里面添加用户.      3.用用户的账号登录,查看效果.      4.修改角色可以使用的按钮,查看效果.       这里举了一个很简单的例子--新闻维护,有两个角色,一个是"新闻维护&

【自然框架】 权限 的视频演示(二): 权限到字段、权限到记录

      继续.这里演示权限到字段和权限到记录.            权限到字段有两种安全级别,      1.低安全级别.有些项目不需要做到控制每一个字段是否显示,那么就可以采用这种级别.低安全级别就是:如果一个节点里面没有设置可以访问哪些字段,那么就默认为不需要做到控制字段的程度,就是说节点里的字段都是可以访问的.这么做是为了操作方便.       2.高安全级别.有些项目要求非常严格,要严格控制每一个字段是否可以访问,那么就可以采用这种安全级别.高安全级别:如果一个节点里面没有设置可以

【自然框架 免费视频】资源角色的思路介绍(整理了一下以前帖子的目录,请刷新)

  请大家不要忘记点推荐!   源码下载: 自然框架的源代码.Demo.数据库.配置信息管理程序下载 这里介绍一下资源权限的思路,我们来设计一个场景,这个场景大家比较常见的,也是我遇到过的.我们来通过这个简单的实例,来看看资源权限可以如何实现. 资源权限,就是同样的一个表,一些人可以看到一部分信息,另一些人可以看到另一部分信息,还有些人可以看到全部信息,还有--.总之就是根据员工的权力,进行适当的筛选.可以看到一部分,或者可以看到全部.一级可以做什么样的操作(增删改查,导出等).   这里先只介

【自然框架】之通用权限(八):权限到字段(列表、表单、查询)

   通用权限想要写的文章目录:(这是第八章)   1. 简介.数据库的总体结构2. 介绍人员表组3. 介绍组织结构表组4. 介绍角色表组5. 介绍"项目自我描述表组"6. 权限到节点7. 权限到按钮8. 权限到列表(表单.查询)9. 权限的验证10. 资源方面的权限11. 角色管理的程序(给客户用的)12. 权限下放13. 个性化设置 A. [自然框架]之通用权限(外传):杂谈     列表 myGrid 先说一下myGrid,我会根据Manage_FunListCol表和Manag

【自然框架】之通用权限(四):角色表组

        继续,这是第四章了.这里涉及到了资源方面的,不过有点绕,所以这里先介绍一下表结构,在后面的章节里面,再举例子详细介绍. 通用权限想要写的文章目录:(这是第四章)   1. 简介.数据库的总体结构2. 介绍人员表组3. 介绍组织结构表组4. 介绍角色表组5. 介绍"项目自我描述表组"6. 权限到节点7. 权限到按钮8. 权限到列表(表单.查询)9. 权限的验证10. 资源方面的权限11. 角色管理的程序(给客户用的)12. 权限下放13. 个性化设置 A.. [自然框架]

【自然框架】之通用权限(二):人员表组

        继续,这是第二章了.本来想在这一章里面介绍三个表组来着,但是我有点写不好的感觉,还是多分几章吧,这一章就只介绍人员表组.第二章到第五章主要是介绍表结构.我是习惯使用Excel来设计表,一开始的时候只能记录表名.字段名.字段类型.字段说明等信息,但是一直没能找到如何使用Excel来体现出来表之间的关系.前一阵子(好像是去年)突然想到了可以使用"图表"+图形(比如箭头)的方式来做表关系,第一章里的那几个图就是这么弄出来的,看着还凑合吧.       至于为什么不用Power

【自然框架】之通用权限:用PowerDesigner重新设计了一下数据库,有ER图和表关系图

      好像以前做的那个数据库设计大家都没太看懂,究其原因似乎大家都比较习惯使用PowerDesinger来设计.而我用Excel画出来的图大家看着特别别扭,而且还没有总体的图,也没有ER图,所以大家也就没有心情看了吧.呵呵.      PowerDesinger学习了一下,感谢Hayden Han 写的<PowerDesigner使用教程 -- 概念数据模型 >,通过这个文章学会了如何使用PowerDesinger来画ER图,这回画出来的应该是ER图了吧,呵呵.除了ER图,还有表关联图,

【自然框架】之通用权限(五):项目描述表组

        继续,这是第五章了.我发现了,写文章比写程序还要有难度.   通用权限想要写的文章目录:(这是第五章)    1. 简介.数据库的总体结构2. 介绍人员表组3. 介绍组织结构表组4. 介绍角色表组5. 介绍"项目自我描述表组"6. 权限到节点7. 权限到按钮8. 权限到列表(表单.查询)9. 权限的验证10. 资源方面的权限11. 角色管理的程序(给客户用的)12. 权限下放13. 个性化设置 A. [自然框架]之通用权限(外传):杂谈         项目描述表组  

【自然框架】之通用权限(三):组织结构表组

        继续,这是第三章了.拖得有点长,但是我也是一边写,一边在想办法,想怎么做才能让资源权限也能通用起来.看大家的回复也给了我一些提示,我也在修改我的方案.原来打算用来解决一个人虽然在业务一部,但是却可以看业务一部.业务二部的客户信息的情况,但是仔细想了一下,这么做也不行.不过还好,我又找到了另一个方法来解决,而且可以让资源权限更加通用.不过这个详细的方法要放在下一章的角色表组里面来说明了.(这是写这篇之前的想法,写完之后想法又变了.)    通用权限想要写的文章目录:(这是第三章)