`
jinvasshole
  • 浏览: 763824 次
文章分类
社区版块
存档分类
最新评论

继续探讨数据库权限管理设计

 
阅读更多
一般的Web系统和MIS系统权限管理设计大概有这几种模式:
用户+组+角色+权限
用户+组+权限
用户+角色+权限
用户+权限


最近看了别人的设计方法,大多以“整数”来表示权限值,如添加、浏览、删除和修改,分别用1、2、4、8这几个整数来代替,不过,各人的做法有所不同,举例如下:

1.用2的n次幂组成权限值的集合,如1、2、4、8、16...,某用户的权限值为其子集中的整数之和,如 7=1+2+4,5=1+4。如果要从数据库检索包含某几种权限的用户,则先把这几种权限值相加,假设和为k,然后select * from table where 1 and 用户权限值 = 'k';如果要判断某用户有哪些权限,则取出其权限值k,分别用k&1,K&2,K&4,k&16...,如果为真,则表示有值等于“&”右边整数的权限,例如,如果k&4为真,则此用户有权限表中值等于4的权限;

2.用质数2、3、5、7、11...组成权限集合,某用户的权限为其子集中各整数的乘积,如 210 = 2*3*5*7,我觉得这种方法很有趣,难点在于如何分解质因数;但我有些不认同原作者的提法,他认为权限之间可能存在包含关系,如某用户有删除权限,则其一定有浏览权限,要不然就没法删除,事实确实是这样,不过我认为这样太复杂了,容易出错,我觉得权限最好是“原子”的,互不干扰,也就是说某用户有删除权限而没浏览权限则其无法进行删除操作,因为他看不到东西,解决这个矛盾的关键是在给用户赋权时,把浏览权限也赋给他;

3.不用整数,而是用“向量表”方法(也许我说的不一定对),把所有可能的权限按一定的顺序排列,如添加、浏览、修改、删除...,用户的权限值为固定100位长度的字符串,如100010100001....01,从左起每一位对应一种操作权限,如果有这种权限,则此位的值为1,反之,则为0,作者之所以把用户权限值固定为100位,我想是考虑到升级问题,但我认为这还不够科学,我认为用户的权限值长度应小于权限个数,举例如下:
权限排列表:添加、浏览、修改、删除,用户A有添加和浏览的的权限,则其权限值为11,用户B有浏览和修改的权限则其权限值为011,用户C有浏览和删除的权限则其权限值为0101,这样设计的好处为:当权限表中增加别的权限时,不会影响用户表或角色表;

4.我曾经的做法,在后台管理中把权限分为两大类:栏目权限和操作权限,每个栏目对应一个目录,操作权限细分为浏览、添加、修改和删除,用户进入系统后首先判断有没有栏目权限,然后判断有没有操作权限,判断栏目权限相对简单一些,首先获取访问页面的路径path,然后分解出目录,对应用户拥有的目录权限,如果此目录包含在用户有权管理的目录数组中(从数据库取出),则其有进入此目录的权限,否则,没有,然而,在判断操作权限好象有些麻烦,但突然想到添加、浏览、修改和删除与我的文件命名规则是基本是对应的,但有点不同的是,我把添加和删除的功能合并在一个文件中了,例如文件名为proAddEdit.php,幸好意识到修改文件时多了个传递参数id,于是,我用正则解决了这个问题,今天看来,这种方法似乎过时了,因为不适应面向对象的思想和用框架体系来开发系统!
分享到:
评论

相关推荐

    对数据库管理问题的探讨.doc

    对数据库管理问题的探讨 【摘 要】引起数据库安全问题因素有很多,针对这些因素应采用相关的计算机管理技术,以 确保数据库的安全,使其更好的为生产和管理服务。 【关键词】数据库;安全;管理技术 前言 计算机...

    J2EE综合--关于权限设计的详细探讨

    下面我要说的是MIS系统权限治理的数据库设计及实现,当然,这些思路也可以推广开来应用,比如说在BBS中用来治理不同级别的用户权限。 权限设计通常包括数据库设计、应用程序接口(API)设计、程序实现三个部分。 这...

    关于电网规划管理信息系统数据库的探讨.doc

    关于电网规划管理信息系统数据库的探讨 文章结合电网公司各信息化系统的数据现状,基于规划管理信息系统的建设要求和预 期目标,提出了建设规划基础数据库组织结构的设计思路,以及各类规划相关数据在规 划管理信息...

    网络数据库安全设计与实现.doc

    为此,本文主要探讨了网络数据库的安全设计及实现,为网络 数据库使用客户提供技术保障。 2.相关技术 2.1 基于角色的访问控制RBAC RBAC的原理描述如下:用户对应的访问权限是经过授权而获得的,权限只能与角色相 ...

    计算机毕业设计:Java实现的个人账务管理系统(源码+数据库+论文),保证可靠运行,附赠计算机答辩PPT模板

    《计算机毕业设计:Java实现的个人账务管理系统》是一套全面而实用的计算机毕业设计资源,特别适用于本科生的课程设计、毕业设计以及Java学习。该资源集源码、数据库和论文于一体,确保了系统的可靠运行,并附赠了...

    JAVA的数据权限设计.docx

    数据权限设计 在当前的许多应用程序中都会涉及到权限管理,权限主要分为功 能权限和数据权限,至于功能权限相对简单些,网上也有不少的实 现方案,这里不再介绍,下边主要探讨下数据权限的设计方案。 数据权限跟...

    SQL Server 2008数据库设计与实现

    通过将理论融入数据库实践,清晰地讲解了关系型数据库的设计原则,完整地展示了如何进行良好的关系型数据库设计,深入揭示了SQL Server 2008的技术细节。  本书浓缩了作者作为SQL Server数据库架构师多年来丰富的...

    关于Oracle的虚拟专有数据库特性探讨

    Oracle8i中引入的Oracle行级安全性特性提供了细粒度的访问控制--细粒度意味着是在行一级上...使用Oracle的VPD功能不仅确保了企业能够构建安全的数据库来执行隐私政策,而且提供了应用程序开发的一个更加可管理的方法。

    基于校园报名管理信息系统的毕业设计实现.zip

    - 系统管理:包括用户管理、角色管理、权限管理等。 ## 开发工具和技术 校园报名管理信息系统可以选择以下开发工具和技术: - Java语言:Java是一种跨平台的编程语言,具有良好的可读性和可维护性。 - MySQL...

    Java毕业设计-基于springboot开发的BS老年人体检管理系统-毕业论文(附毕设源代码).rar

    此外,本资源还附带了详细的毕业论文,对系统的设计思路、实现过程、技术难点等方面进行了深入的探讨和分析。通过阅读论文,读者可以更加深入地了解该系统的实现原理和技术细节,为类似项目的开发提供有益的参考和...

    基于RBAC模型的通用权限管理系统的设计

    本文探讨了RBAC0\RBAC1\RBAC2\RBAC3的模型特点,并给出了一个完整的数据库设计原型有一定的参考价值

    基于SSM医院预约挂号系统是基于SSM框架以MYSQL数据库源码

    本系统满足了不同权限用户的功能需求,用户通过该系统可以方便快捷的选择医生进行预约挂号,管理人员可对医生和患者的信息进行全面管理,包括患者信息管理、医生信息管理以及挂号记录管理,确保系统正常运行。...

    数据库系统安全性分析与实现.docx

    本文将从数据库系统的安全属性及安全技术进行分析,探讨实现数据库系统的高安全性策略。 关键字:数据库系统;数据库技术;安全性;安全策略 随着信息技术的不断发展,各行企业都不同程度地实现了信息化,因而信息...

    计算机毕业设计:Java实现的作业管理系统(源代码+论文),保证可靠运行,附赠计算机答辩PPT模板

    论文部分则对作业管理系统的设计理念、技术实现及实际应用进行了深入探讨。论文语言专业,逻辑清晰,为用户提供了坚实的理论基础和实践指导,有助于用户更好地理解和应用该系统。 此外,该资源还附赠了专业的计算机...

    美客企业文件管理系统 v1.0

    6、完善的用户权限管理机制。 7、自行设定文档存储位置,按账号、日期组织存取文档,便于管理查找。 美客企业文件管理系统说明: 1、系统名称、文件存取位置请自行在Web.config里设置. 2、数据库在DB文件夹中,...

    美客企业文件管理系统 v1.0.rar

    6、完善的用户权限管理机制。 7、自行设定文档存储位置,按账号、日期组织存取文档,便于管理查找。 美客企业文件管理系统说明: 1、系统名称、文件存取位置请自行在Web.config里设置. 2、数据库在DB文件夹中,...

    基于J2EE的在线考试系统构建探讨

    进入做题,在每个分页面的顶部,都将会有对该部分试题的操作提示和注意事项,考生阅读完相关事项后进行做题,每做完该部分试题都必须保存,系统将收集到的考生做题信息上传到数据库中,考生则继续做其他部分试题。...

    基于云开发的智能班务管理系统.zip

    结合目前软件发展现状和趋势,借鉴互联网应用设计思路和思维方式,以理论探讨和实际应用相结合作为设计原则,充分总结、利用和吸收现有研究成果和相关资料,设计开发一种基于微信小程序的智能班级管理系统,实现班级...

    计算机专业毕设精选-ASP网上书店设计与实现(源代码+论文).rar

    在设计阶段,对系统的架构、数据库设计、界面设计和安全策略等方面进行了深入的探讨。在实现部分,详细阐述了各个模块的具体实现过程,并提供了关键代码片段。最后,通过测试报告展示了系统的性能和稳定性。 **二次...

    计算机专业毕设ASP+ACCESS房产信息管理系统(源代码+论文).rar

    此外,系统还提供了友好的用户界面和完善的权限管理,确保系统的安全性和稳定性。 在论文部分,作者详细介绍了项目的背景、需求分析、系统设计、实现过程和测试结果。通过对系统的设计和实现过程的深入剖析,展示了...

Global site tag (gtag.js) - Google Analytics