当前位置:主页   - 电脑 - 网站开发 - ASP.Net
信息系统开发平台OpenExpressApp - 用户权限模块设计
来源:网络   作者:快乐学习   更新时间:2011-10-11
收藏此页】    【字号    】    【打印】    【关闭

  管理型软件不同于工具型软件,它涉及到多人协同操作,所以用户权限管理是必备的功能之一。本篇讲介绍一下OpenExpressApp的用户权限模块的大体应用思路,后续将会实现为框架的内置提供模块。

  现在很多系统都是采用RBAC(Role-based_access_control)来作为权限系统的设计参考,OpenExpressApp也准备参考它来设计权限子系统,所以下面我先简单介绍一下RBAC的内容,如果熟悉的可以略过这一小节。

  Core RBAC

  IT业界在2000年基于Ravi Sandhu等人提出Role-based抽象模型基础上形成了RBAC模型标准草案,这个草案实质是建立一套基于角色授权的模型标准。RBAC标准包括两部分:RBAC参考模型和RBAC功能描述。RBAC参考模型定义了RBAC的基本语义和基本元素集合,并通过集合论给出了一套RBAC数学模型,RBAC功能描述定义了RBAC系统必须的特性。

  下面为RBAC的核心参考模型示意图:对象主体(OBS)和操作主体(OPS)的许可权限(Permission)直接赋予角色(Role),用户(User)通过与Role的关系实现权限的授予,具体介绍可以参考an_introduction_to_rbac。

信息系统开发平台OpenExpressApp - 用户权限模块设计

    查看原图(大图)

  RBAC实现参考

信息系统开发平台OpenExpressApp - 用户权限模块设计

    查看原图(大图)

  参见an_introduction_to_rbac

  组织机构相关的RBAC模型的变体

  在企业级应用时除了角色外,组织机构仍然是一个十分重要的维度,如何将角色与组织机构连接起来,是我们着重考虑的问题。因此结合组织机构和RBAC模型,衍生了与组织机构相关的RBAC模型的变体,如下图所示:部门+岗位=角色:岗位不能直接授权,只有与部门挂接后才能形成角色

信息系统开发平台OpenExpressApp - 用户权限模块设计

    查看原图(大图)

  模块设计

  部门管理(组织机构)

信息系统开发平台OpenExpressApp - 用户权限模块设计

    查看原图(大图)

  组织机构是企业的管理体系,企业的所有经营行为都要通过组织机构发挥作用。岗位只有处于特定的组织下才能发挥作用,此时形成角色。组织机构中节点成为部门,部门下挂接岗位,岗位与具体人员相关。

  权限设置

信息系统开发平台OpenExpressApp - 用户权限模块设计

    查看原图(大图)

  该模块只有系统管理员(包括部门级系统管理员)可以操作,设置部门+岗位下的各个模块的功能权限和数据权限

  功能权限:显示模块类别下的所有Command,控制到所有界面可以看到的工具条按钮和右键菜单

  数据权限:数据权限包含整个模块是否允许查看(模块打开功能)、单条记录是否允许访问(记录查看权限)和记录属性可见(字段级别权限)。这块还没有想得很清楚,目前先控制数据记录级别的权限,指定可以查看到哪些记录。

  注:目前不考虑上下级隶属关系、权限下发等等复杂组织机构功能

编缉推荐阅读以下文章

  • 信息系统开发平台OpenExpressApp - CSLA类库编写
  • 信息系统开发平台OpenExpressApp - 支持WPF主题样式
  • 信息系统开发平台OpenExpressApp - 性能相关
  • 信息系统开发平台OpenExpressApp - CSLA约定及框架约定
  • 信息系统开发平台OpenExpressApp - 支持列表分组(Group)
  • OpenExpressApp控件 - 采用WCF作为分布式应用支持
  • 信息系统开发平台OpenExpressApp -如何部署OEA应用
  • 信息系统开发平台OpenExpressApp - ClickOnce智能部署
  • 信息系统开发平台OpenExpressApp - Command扩展机制
  • 信息系统开发平台OpenExpressApp - 应用模型ApplicationModel
其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明