查字典论文网 >> 审计知识共享平台的用户权限设计与实现

审计知识共享平台的用户权限设计与实现

小编:

审计知识共享平台的用户权限设计与实现

引言

审计知识共享平台是一款专为审计机关实现统一知识管理和共享的平台。针对审计机关特殊的多级组织关系,系统将所有的资源划分有不同的访问级别,同时用户也被划分为多个级别。不同组织级别的用户具有不同的操作权限,并且用户的访问权限是动态变化的,因此设计出符合审计行业本身特点的用户权限管理是必要的。

本文借鉴RBAC的基本思想,引入角色的概念,为各级组织机构创建多重管理员角色,各级管理员可以按需创建和分配角色,并为角色设定不同的权限,再将角色赋予相应的用户,从而实现用户与权限相隔离,并灵活、安全的对系统访问权限进行控制。

1 RBAC基本思想

RBAC是目前较为成熟的统一资源访问控制方法。其基本思想是将权限分配给角色,而不是用户再根据用户的职责赋予一定的角色,用户根据所属的角色获得相应的权限[1],实现了用户与访问权限的逻辑分离。可简单用图1表示,即将整个访问过程分为两步:第一步,用户与角色相联系,通过角色使用户与访问权限在逻辑上分离;第二步,角色与访问权限相关联。

图1RBAC的基本思想

以角色为中介的用户和角色之间,角色和权限之间是两个多对多的分配关系,并且“角色-权限”分配相对稳定,“用户-角色”分配相对容易变化。根据业务的实际情况,做好角色分配权限的工作,包括角色增减、角色权限修改等,并为用户赋予相应的角色,从而减少了授权授予的复杂性,提高了用户权限管理的灵活性。

2 审计知识共享平台的用户权限分析与设计

该平台建立在审计行业的大背景下,主要完成对用户及知识资源的管理。审计行业有较为特殊的组织关系,审计署是我国最高审计机关,在其下有位于省、自治区的审计厅和位于直辖市的审计局(以下统称审计厅)。审计厅的下一级审计机关是位于市级的审计局,市级审计局的下一级审计机关是县级的审计局。由此便形成了一个有层次的树形结构,树的每个层次代表了级别的不同,每个子树代表了不同的审计机关分布,每个结点代表的用户角色处于不同的级别和不同的审计机关,从而形成了一个典型的层次结构,如图2所示,图中仅描述从审计署到市级审计局的组织结构,其下一级组织机构与此类似。

图2审计机关组织机构示意图

这种多级的组织机构将所有的资源划分有不同的访问级别,同时用户也被划分为多个级别。不同等级的审计机关具有不同的功能模块,同一级的不同审计单位不可访问其他审计单位的数据,甚至于相同单位的不同用户具体的功能菜单也不尽相同。在这种情况下,系统需要按照不同的组织级别为用户划分不同的权限,并且还要适应访问权限的动态变化,这样显得系统异常复杂。

鉴于该系统的用户可以大体分为用户管理员、知识管理员和普通用户,每类用户分工比较明确,因此,配合审计的组织机构,把基于角色的访问控制模型引入到该系统中,将不同类型的用户抽象为不同的角色,先为最高级审计机关(根结点)创建一个角色,由这个角色为其下属单位(子结点)按照实际需要分别创建角色,并为角色设置相应的业务操作权限,然后把角色再赋予各级相应的用户。

采用这种方式实现了权利下放,减轻了上级机关管理人员的负担,而且能方便的对系统权限进行管理。当系统增加新用户时,赋予其角色而不是权限;当需要增加新的权限时,把其分配给角色而不是每个用户;当用户权限改变时,不必逐个修改用户,只需更改相应角色包含的权限。这样大大减少了系统管理权限的工作量,提高了用户权限管理的灵活性。

根据功能需求建立基于角色的用户权限控制的关系模型,如图3所示,图中只给出了主要属性。

图3用户权限管理关系模型图

根据以上设计思想,在数据库中建立六张表:组织机构表定义组织机构相关信息;用户表主要记录用户的基本信息;角色表定义角色信息,一个角色代表拥有系统相似权限的一部分成员。用户所属角色表定

义用户与角色之间的关系;功能模块表用以组织系统的功能模块;角色功能表表示角色拥有的功能模块。

3 审计知识共享平台的用户权限实现

系统采用三层体系结构,前台使用ASP.NET技术,后台使用SQL Server2005数据库设计完成。用户权限管理除了角色管理、用户管理和功能模块管理这三个基本信息维护功能外,还有授权和认证两大功能模块。授权模块中,系统根据用户请求的信息,完成用户到角色,角色到功能模块间的映射。认证模块完成用户身份的确认,并获取用户的权限集合。

3.1 授权管理

授权管理主要包括用户角色分配和角色权限分配两个子功能。用户角色分配是根据用户在系统中的职责被赋予相应的角色。由于审计特殊的组织关系,授权部分采用多级授权设计。系统设有处于最高级的署级管理员。审计署管理员可以设定处于某省审计厅级的二级管理员具有角色再创建的权利,能够对用户分配角色,从而减轻署级管理员的负担。某省厅级管理员可以为本单位用户创建和分配角色。用户可以有多个角色,例如,用户具有知识管理员和用户管理员两个角色。

角色权限分配指角色按其职责范围与一组操作权力相关联。先选定角色信息,然后再选定相应的功能,点击添加便可为该角色分配权限。当角色具有的功能对应复选框被选中并添加后,角色编码和功能编码将被保存到角色功能表中;当角色权限需要修改时,只需将需要删除的功能模块选中,点击删除即可将角色功能表对应的内容删除。

3.2 认证管理

当用户登录系统时,根据所输入的用户名及密码在用户表中进行比对判断是否为合法用户,如果是则进入系统;若不是则返回登录页面。当用户成功登录系统后,先访问用户所属角色表,根据合法用户的用户编号找出该用户对应的角色编号;在根据角色编号在权限表中读取出对应的功能编号并保存在Session对象中。

首页面初始化时,那个读出Session中保存的功能模块编号,分析出用户可以访问的功能模块,然后将这些功能模块信息组织成树状结构的菜单显示出来。当用户点击功能菜单链接时,在Page_Load事件中,判断链接中的功能编号是否存在于Session中,如果存在说明该用户有访问权限,跳转至相应页面,否则跳转至指定的提示页面。

4 结束语

本文针对审计行业的特点,采用当前流行的基于角色的访问控制模型,让角色与权限相映射,实现用户与权限的逻辑分离,满足了系统的需要,并且简化了权限的管理工作。

热点推荐

上一篇:关于校企合作的成人教育人才培养模式的探索

下一篇:如何对幼儿进行德育教育论文 幼儿园关于德育教育之类的论文

2023年财政项目评审工作总结 财政投资评审工作总结(大全5篇) 2023年一年级美术课我的新朋友教案 一年级的太阳美术课教学反思(汇总5篇)