“基于角色的私有权限管理”模型及在企业权限管理中的应用

        在做软件项目的时候,软件安全一直都是一个老大难问题,也是一个老生常谈的问题。对于软件的使用权限的限制更是软件开发中必不可少的功能模块和不得不解决的问题。一般地,软件的权限管理都是基于角色的,但是,基于角色的权限管理却存在一些弊端,比如,同一个角色但要给某个别的用户开通新的个别功能的权限,而该权限又是安全级别较高的功能权限就没有办法很快满足要求,就要新建一个新的角色,重新赋予角色和权限,从而造成了因为某个别用户的权限问题引起了角色的增加;如果由于需要这个别的用户的使用不久后又要个别新的权限,比如一年后者半年的,那么就又要新建角色,给新角色赋新的权限,给该用户的角色又要调整,从而导致由于个别现象给用户的使用带来了不便,也让数据库中就产生了垃圾角色。为了解决这个问题我设计了如下的权限管理模型——基于角色的私有权限管理.

        基于角色的私有权限管理模型在企业管理中的应用具有以下优点:

       1)支持无限级菜单功能的无限级管理。在设计时菜单是递归的,从而理论上支持无限级菜单目录;
       2)支持无限级别的部门管理。也是递归的;
       3)轻松管理各个部门的公有权限。如果我们把部门看作是一个角色的话,那么部门的权限就是角色的权限;
       4)轻松调整个别用户的私有权限。有了私有权限的管理就可以轻易的管理个别角色的权限进行管理了;

(一)首先来看企业软件权限管理中涉及到的实体:员工、部门、功能
(二)使用PowerDesigner画出实体间的关系如图:



(图1)

功能<——>部门:一个功能可以被0个或多个部门使用,而一个部门可以使用多个功能也可以一个功能都不使用
功能<——>员工:一个员工可以私用0个或多个功能,而一个功能可以被0个或多个员工私用;
部门<——>员工:这个包含关系就很简单了哦;

(三)消除将多对多关系转化成关系实体消除对码的依赖得:



(图2)

(四)添加部门部门间的所属关系和菜单功能的包含关系得:

(图3)

(五)添加各个实体的属性得基于角色的私有权限管理概念模型:

(图4)

(六)转化成数据库物理模型得:


(图5)


最后生成数据库脚本,倒入数据库生成数据库,各个表中的字段,主键及外键关系就如(图5)了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值