访问控制系统的设计——Esoft-ACL

原创 2004年07月09日 10:11:00

Esoft-ACL 介绍<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1?????? 前言

我在开发Esoft-XPCMSEsoft-myOffice1.0过程中,对访问控制系统的设计偏向个性化,即系统的每一个应用都有自己的权限控制体系,如Esoft-XPCMS的新闻发布、产品发布都有自己的权限控制体系,Esoft-myOffice中的论坛帖子管理、电子公告管理等也有自己的权限控制体系,当要往Esoft-myOffice中加入新的应用子系统时,又必须单独为这个新应用设计权限系统,这样一方面增加了工作量,另一方面也给用户的权限分配与维护带来一定的难度。为了降低应用系统与权限访问控制系统的耦合度,提高系统的可扩展性,Esoft-ACL应运而生。通过Esoft-ACL可实现对所有应用系统的统一访问控制.Esoft-ACL中,访问控制系统可分解为权限资源、权限控制类型、角色三都之间的组合关系。

2?????? 名词解释

权限资源:指的是权限要控制的资源对象,如我们要为论坛帖子管理设立权限,那么这里的论坛帖子就是权限资源;再如网站信息发布,我们要控制不同人员对不同栏目的维护权限,这里的栏目也是权限资源。在Esoft-ACL中,每一个权限资源都要用唯一标识符来表示。权限资源根据是否具有子分类可以分成两种,一种是没有子分类的权限资源,一种是有子分类的权限资源。没有子分类的权限资源如“意见建议”,有子分类的权限资源如“网站栏目”,“网站栏目”这类资源有树状结构的分类,不同的用户对不同的分类可能享有不同的权限。

?

权限控制类型:指的是权限控制访问的接口类型,是权限资源的动作类型,如添加、删除、修改或其它动作。权限控制类型在特定的权限资源环境下具有包含关系,如在“网站信息”这个权限资源里,“修改”权限控制类型就应包含“浏览”权限。在Esoft-ACL中,每一个权限控制类型都要用唯一标识符来表示。

用户:权限主体的最小单位,是角色、群组的基本组成元素,一个用户可以同时具备多种角色。

角色:用户在各种场合下,都会扮演具有一定权利与义务的角色。角色是权限的最直接主体,用户是否具有访问权限资源的权限就要看其所扮演的角色是否被分配访问权限资源的权限。角色可以分为三种类型,一种是超级用户类型,一种是基础角色类型,还有一种是用户自定义类型,属于超级用户类型的则不经过Esoft-ACL系统验证,直接享有系统所有权限;基础角色是系统不可少的角色,用户不可以删除;自定义类型的角色则是由用户自由定制,可以自由修改或删除。

群组:指的是一群具有多种角色的用户群体,一个群组可以具有多种角色,多个用户可以组成一个群组,属于该群组的用户具备该群组中所有角色所具备权限的并集。如“开发部”这个群组里有A用户,B用户,C用户,同时“开发部”具有“公司成员”、“开发部成员”、“技术员”这三种角色,那么ABC三个用户就具有“公司成员”、“开发部成员”、“技术员”这三种角色所享有的访问应用系统权限的并集。

权限:指的是角色、权限资源、权限控制类型三者的线性关系,表现为在某种权限资源环境下,某些角色在某种权限控制类型上享有访问或操作权限。

3?????? 系统模型

3.1. 权限并集

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

Esoft-ACL中,权限交叉是采用并集处理,如上图,假设某个用户具有角色A、角色B、角色C三种角色,那么该用户所享有的权限就是如上图所示为三个角色的并集。

3.2. 映射关系

Esoft-ACL中,一个群组可以具有多种角色,1个角色也可以分配给多个群组,二者是多对多的关系,同理,群组与用户,角色与用户都是多对多的关系。权限资源与权限控制类型也是多对多的关系。

3.3. 访问控制模型

?

?

这里的Clients就是用户,用户登陆系统后,要访问应用系统Applications或者叫权限资源,首先要进行身份验证,身份验证需要三组参数:角色数组,要访问的权限资源代码,权限控制类型代码。这三组参数通过Esoft-ACL提供的API接口或WebServices接口,传给Esoft-ACL内核处理,验证成功,则返回TRUE,允许访问Applications,验证失败,返回FALSE,拒绝访问Applications。通过提供的WebServices接口,可以实现跨服务器的分布式验证,为系统的企业级应用提供了接口。

3.4. 统一访问接口

?

?

为了保证访问控制系统的维护及用户操作方便,在Esoft-ACL中统一了权限访问接口,即只对角色授予权限,用户与群组都要通过角色再能与权限建立联系。因此用户A具备哪些权限,要看用户A具有哪些角色,隶属于哪些群组,这些群组又具有哪些角色,然后根据这些角色集合去得出相应的权限并集。

3.5. 资源与控制类型的关系模型

?

如上图所示,假设现有应用系统:意见建议系统、网站信息发布系统等应用系统。那么我们可以在Esoft-ACL中建立相应的两种权限资源——意见建议,网站信息发布,建立完权限资源后,还要建立相关的权限控制类型,添加相关控制接口,如浏览、添加、修改、删除等。然后在这些权限资源与权限控制类型间建立映射关系,从而形成真正的权限(Privilege)。在建立映射过程中,有些权限资源要求权限控制类型之间存在包含关系,如在意见建议系统中,要修改意见建议,首先就必须具备浏览意见建议权限,因此可以设定意见建议中,修改权限包含浏览权限。

3.6. API模型

?

?

4?????? Esoft-ACL截图

4.1??? 角色管理

?

4.2??? 菜单访问权限分配

?

4.3??? 角色权限分配

?

4.4??? 有子分类的权限资源权限分配

?

4.5??? 无子分类的权限资源权限分配

?

4.6??? 权限控制类型与权限资源的映射

说明:图中右边的意见建议à删除[浏览、删除自己发表,浏览自己发表]表示意见建议权限资源的删除权限中包含了浏览、删除自己发表,浏览自己发表其他三种权限。

?

注:以上内容仅为作者在开发软件过程中的一些体会,心得,系统中肯定还有不足之处,往专家指点。MSN:misnet@hotmail.com,QQ:19040738,http://www.risensoft.com,http://www.ehero.net

?

您未被授权查看该页 您不具备查看该目录或页面的权限,因为访问控制列表 (ACL) 对 Web 服务器上的该资源进行了配置

今天 帮朋友网站打不开,帮去看了 下IIS,特把一些常见问题收集起来, -----------------------------------------------------------...
  • ww122081351
  • ww122081351
  • 2013年12月07日 10:59
  • 5525

使用Hadoop ACL 控制访问权限

使用Hadoop ACL 控制访问权限 一、HDFS访问控制 hdfs-site.xml设置启动acl   dfs.permissions.enabled  true    ...
  • houzhizhen
  • houzhizhen
  • 2015年06月03日 18:50
  • 3683

HDFS ACLs访问控制权限

HDFS ACLs
  • kimsungho
  • kimsungho
  • 2016年05月15日 18:04
  • 2041

Apparmor——Linux内核中的强制访问控制系统

AppArmor 因为最近在研究OJ(oline judge)后台的安全模块的实现,所以一直在研究Linux下沙箱的东西,同时发现了Apparmor可以提供访问控制。 AppArmor(App...
  • zahuopuboss
  • zahuopuboss
  • 2016年11月20日 21:35
  • 415

Apparmor——Linux内核中的强制访问控制系统

Apparmor——Linux内核中的强制访问控制系统 AppArmor 因为最近在研究OJ(oline judge)后台的安全模块的实现,所以一直在研究Linux下沙箱的...
  • echotina
  • echotina
  • 2013年11月15日 16:21
  • 692

Apparmor——Linux内核中的强制访问控制系统

 AppArmor 因为最近在研究OJ(oline judge)后台的安全模块的实现,所以一直在研究Linux下沙箱的东西,同时发现了Apparmor可以提供访问控制。 AppArmor...
  • heluan123132
  • heluan123132
  • 2017年06月29日 10:42
  • 255

Apparmor——Linux内核中的强制访问控制系统

AppArmor 因为最近在研究OJ(oline judge)后台的安全模块的实现,所以一直在研究Linux...
  • dyllove98
  • dyllove98
  • 2013年05月09日 19:37
  • 845

用java写的RBAC角色访问控制系统可用于毕业设计

  • 2017年05月05日 23:36
  • 1.86MB
  • 下载

EETrust统一身份管理及访问控制系统

EETrust统一身份管理及访问控制系统 (UID System) 1. 概述 EETrust统一身份管理及访问控制系统(UID System)是通过构建企业级用户目录管理,实现不同用户群体之间统...
  • fxllong262553
  • fxllong262553
  • 2012年07月04日 15:20
  • 2336

计算机网络安全访问控制系统的实现

网络拓扑外网网段202.120.36.0/24 防火墙eth0接口202.120.36.180内网网段192.168.33.0/24 防火墙eth1接口192.168.33.254DMZ区网段19...
  • yfgcq
  • yfgcq
  • 2011年05月13日 13:32
  • 725
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:访问控制系统的设计——Esoft-ACL
举报原因:
原因补充:

(最多只允许输入30个字)