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

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

 
阅读更多
一般的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

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

    MySQL DBA 数据库工程师实战经验

    3. **数据库管理**:涉及数据库的备份与恢复、用户权限管理、数据库安全性等管理操作。 4. **性能优化**:分享数据库性能分析和优化的实战技巧,包括索引设计、查询优化、数据库调优等。 5. **实战案例分析**:...

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

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

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

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

    农村供水工程设计图集数据库的构建.docx

    为了提高农村供水工程的规划、设计和建设水平,本文探讨了农村供水工程设计图集数据库的构建,涉及关键词、资料整理、文章撰写和细节补充等问题。 知识点一:农村供水工程设计图集数据库的重要性 农村供水工程设计...

    JAVA的数据权限设计.docx

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

    SQL Server 2008数据库设计与实现

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

    太原地震监测中心站库存管理系统的设计与实现.pdf

    该系统包括九大功能模块:办公耗材品类管理模块、库存管理模块、人库管理模块、出库管理模块、盘库管理模块、登录管理模块、用户管理模块、菜单管理模块、权限管理模块。 该系统的设计与实现可以解决传统库存管理...

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

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

    基于springboot企业固定资产管理系统后端程序

    4. 权限管理:设计权限控制机制,确保不同用户拥有不同的操作权限,包括对资产数据的访问和修改权限。 5. 业务逻辑实现:实现资产管理系统所需的各种业务逻辑,例如资产入库、领用、报废等操作的处理逻辑。 6. ...

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

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

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

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

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

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

    Sql语句50条案例,从创建数据库入门到进阶

    数据控制语言(DCL)案例则关注权限管理和事务控制,如授权和撤销访问权限,以及提交和回滚事务等。 通过这50条SQL语句案例的学习,用户将能够深入理解SQL的核心概念和语法,提升处理数据库问题的能力。这些案例将...

    计算机毕业设计:ssm mysql-健身房众筹系统 (数据库+程序+论文),保证可靠运行,附赠计算机答辩PPT 

    此外,我们还撰写了详细的论文,深入分析了众筹模式在健身房行业的应用前景和优势,探讨了健身房众筹系统的设计和实现过程,并总结了项目的创新点和实际应用价值。 最后,我们还制作了计算机答辩PPT,以图文并茂的...

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

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

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

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

    计算机毕业设计:基于ssm mysql-在线汽车交易系统 (数据库+程序+论文),保证可靠运行,附赠计算机答辩PPT 

    为了支撑项目的学术性和完整性,我们撰写了详细的论文,深入分析了在线汽车交易市场的现状和发展趋势,探讨了本系统的设计思路和实现过程,并总结了项目的创新点和实际应用价值。 最后,我们还制作了计算机答辩PPT...

Global site tag (gtag.js) - Google Analytics