通用的权限管理系统的设计
![通用的权限管理系统的设计_第1页](https://file2.zhuangpeitu.com/fileroot2/2021-10/23/5e87e4bf-6629-4a35-9839-a4f57fac28bd/5e87e4bf-6629-4a35-9839-a4f57fac28bd1.gif)
![通用的权限管理系统的设计_第2页](/images/s.gif)
《通用的权限管理系统的设计》由会员分享,可在线阅读,更多相关《通用的权限管理系统的设计(2页珍藏版)》请在装配图网上搜索。
1、通用的权限管理系统的设计 今天无意中在首页中看到了四海同志的一篇实现业务系统中的用户权限管理-设计篇文章写的非常的好,里面的一些话似乎被其它权限管理系统的设计转来转去,看上去都有种似曾相识的感觉,当然,也不排除那些文章最初是由四海同志写的,后来被他们转来转去的。四海同志的文章我仔细看了下,算是看懂了吧。分析的挺透彻。我以前在b/s的权限管理系统上研究过一段时间,有些小心得,来跟大家分享下,限于我个人能力,如果写的不好,或哪里说的不对,还望朋友们指出来,千万不要拍我。四海同志的文章中有这样一句话:“传统业务系统中,存在着两种权限管理,其一是功能权限的管理,而另外一种则是资源权限的管理,在不同系统
2、之间,功能权限是可以重用的,而资源权限则不能。似乎他的那个权限设计也没有能够解决资源重用的问题。当然,如果它把资源文件分别存放在不通的文件夹中,通过url来根据权限来判断那就另当别论了。我这个人比较懒,总是想用一个通用的方法,放在哪里都合适,因此在数据库的设计上费了一番脑筋了。其实,很多的权限管理系统都不太一样,因此,很多开发者开发出来的权限管理系统放在别的地方,就不一定合适了,往往需要重新开发,权限管理系统的结构不能变,变的仅仅是数据。在这样的一个思想的指导下,我们就想法让我们的结构不要变,尽可能的通用,其实结构在哪里,还是体现在数据库上了。四海同志说:“权限”,“组”和“人”。而这三种元素
3、可以任意添加,彼此之间不受影响。而我却认为,一个完整的权限管理系统应该包括:用户、角色、模块、资源这四个部分,在数据库的表设计上,这四张表叫做权限管理系统的实体表,只要把这四个实体表做出来,权限管理系统的架构就搭建完整了,这样的权限管理系统翻译成中文那就是:权限管理系统是判断(可能用判断这个词不是很准确)用户或角色对什么资源是否有什么功能的这样一个系统。这样设计出来的权限管理系统通用性、扩展性才够强,系统足够完整。四张实体表做好了,就意味着架构搭建好了,那么逻辑关系怎么办呢?我当时设计的时候用另外的4张表来存储他们之间的逻辑关系,总共8张表,四张实体表,四张逻辑关系表。 其它的权限管理系统可能少于8张表,一般通用性不会太好的。通常都是在完整的基础上做了下变化,有的利用继承来做,有的利用位运算,还有的虽然不通用,但是也是充分利用了自身的特点,一般都会少于8张表,但是一般翻译成汉语都不完整。通常为:用户对资源是否有什么功能、用户或角色对资源是否有权限等等。切记,通用的权限管理系统无论是用户、角色、模块、资源哪个方面,都可以在不改变架构的条件下去动态的扩展,改变的仅仅是数据,而只要有这个思想,再结合自身项目的特点,相信设计和开发各种各样不通的权限管理系统不会有问题的。受大家建议,附图一张,如下所示:
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。