首页 OA权限管理

OA权限管理

举报
开通vip

OA权限管理OA权限管理 1 RBAC模型 访问控制是针对越权使用资源的防御措施。基本目标是为了限制访问主体(用户、进程、 服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决定 [1]用户能做什么,也决定代表一定用户利益的程序能做什么。 企业环境中的访问控制策略一般有三种:自主型访问控制方法、强制型访问控制方法和基 于角色的访问控制方法(RBAC)。其中,自主式太弱,强制式太强,二者工作量大,不便于管 [1]理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其...

OA权限管理
OA权限管理 1 RBAC模型 访问控制是针对越权使用资源的防御措施。基本目标是为了限制访问主体(用户、进程、 服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决定 [1]用户能做什么,也决定代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 一定用户利益的程序能做什么。 企业环境中的访问控制策略一般有三种:自主型访问控制方法、强制型访问控制方法和基 于角色的访问控制方法(RBAC)。其中,自主式太弱,强制式太强,二者工作量大,不便于管 [1]理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其 显著的两大特征是:1.减小授权管理的复杂性,降低管理开销;2.灵活地支持企业的安全策略, 并对企业的变化有很大的伸缩性。 NIST(The National Institute of Standards and Technology,美国国家 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint [1]RBAC)和统一模型RBAC3(Combines RBAC)。RBAC0模型如图1所示。 a. RBAC0定义了能构成一个RBAC控制系统的最小的元素集合。在RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被 指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。 b. RBAC1引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承 关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继 承关系则进一步要求角色继承关系是一个树结构。 c. RBAC2模型中添加了责任分离关系。RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静 态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。 d. RBAC3包含了RBAC1和RBAC2,既提供了角色间的继承关系,又提供了责任分离 关系。 2核心对象模型 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 1 根据RBAC模型的权限设计思想,建立权限管理系统的核心对象模型.对象模型中包含的基本元素主要有:用户(Users)、用户组(Group)、角色(Role)、目标(Objects)、访问模式(Access Mode)、操作(Operator)。主要的关系有:分配角色权限PA(Permission Assignment)、分配用户角色UA(Users Assignmen描述如下: a .控制对象:是系统所要保护的资源(Resource),可以被访问的对象。资源的定义 需要注意以下两个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 : 1.资源具有层次关系和包含关系。例如,网页是资源,网页上的按钮、文本框等对象也是 资源,是网页节点的子节点,如可以访问按钮,则必须能够访问页面。 2.这里提及的资源概念是指资源的类别(Resource Class),不是某个特定资源的实例 (Resource Instance)。资源的类别和资源的实例的区分,以及资源的粒度的细分,有利于 确定权限管理系统和应用系统之间的管理边界,权限管理系统需要对于资源的类别进行权限管 理,而应用系统需要对特定资源的实例进行权限管理。两者的区分主要是基于以下两点考虑: 一方面,资源实例的权限常具有资源的相关性。即根据资源实例和访问资源的主体之间的 关联关系,才可能进行资源的实例权限判断。 例如,在管理信息系统中,需要按照营业区域划 分不同部门的客户,A区和B区都具有修改客户资料这一受控的资源,这里“客户档案资料”是属于资源的类别的范畴。如果规定A区只能修改A区管理的客户资料,就必须要区分出资料的 归属,这里的资源是属于资源实例的范畴。客户档案(资源)本身应该有其使用者的信息(客户 资料可能就含有营业区域这一属性),才能区分特定资源的实例操作,可以修改属于自己管辖的 信息内容。 另一方面,资源的实例权限常具有相当大的业务逻辑相关性。对不同的业务逻辑,常常意 味着完全不同的权限判定原则和策略。 b.权限:对受保护的资源操作的访问许可(Access Permission),是绑定在特定的资源实例上的。对应地,访问策略(Access Strategy)和资源类别相关,不同的资源类别可能采用不 同的访问模式(Access Mode)。例如,页面具有能打开、不能打开的访问模式,按钮具有可 用、不可用的访问模式,文本编辑框具有可编辑、不可编辑的访问模式。同一资源的访问策略可 能存在排斥和包含关系。例如,某个数据集的可修改访问模式就包含了可查询访问模式。 c.用户:是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。 d.用户组:一组用户的集合。在业务逻辑的判断中,可以实现基于个人身份或组的身份进 行判断。系统弱化了用户组的概念,主要实现用户(个人的身份)的方式。 2 e.角色:权限分配的单位与载体。角色通过继承关系支持分级的权限实现。例如,科长角 色同时具有科长角色、科内不同业务人员角色。 f.操作:完成资源的类别和访问策略之间的绑定。 g.分配角色权限PA:实现操作和角色之间的关联关系映射。 h.分配用户角色UA:实现用户和角色之间的关联关系映射。 该对象模型最终将访问控制模型转化为访问矩阵形式。访问矩阵中的行对应于用户,列对应 于操作,每个矩阵元素规定了相应的角色,对应于相应的目标被准予的访问许可、实施行为。按 访问矩阵中的行看,是访问能力表CL(Access Capabilities)的内容;按访问矩阵中的列看,是访问控制表ACL(Access Control Lists)的内容。 3 数据模型图如下: --参考: /*--软件权限设置控制的例子 --*/ CREATE TABLE 功能 ( 4 id int IDENTITY (1, 1), 功能名称 nvarchar (50), parentid int ) GO CREATE TABLE 用户 ( id int IDENTITY (1, 1) NOT NULL, 用户名 nvarchar (50), 密码 nvarchar (50), 修改日期 datetime, 起始日期 datetime ) GO CREATE TABLE 权限 ( id int IDENTITY (1, 1) NOT NULL, 用户ID int, 功能id int, 操作权限 int, ) GO --数据 --软件的功能分类 insert into 功能 select '产品销售',0 union all select '电器',1 union all select '食品类',1 union all select '日常用品',1 union all select '家电',2 union all select '电脑',2 --用户 insert into 用户 select '张三',null,getdate(),getdate() union all select '李四',null,getdate(),getdate() --权限分配,假设每个功能都有这样的权限设置:1.新增/2.修改/3.删除/4.打印 insert into 权限 select 1,2,power(2,1)+power(2,2)+power(2,4) --张三具有电器类的1.新增/2.修改/4.打印的功 能 union all select 1,4,power(2,1)+power(2,2) --张三具有日常用品类的1.新增/2.修改的功能 union all select 2,1,power(2,1)+power(2,2)+power(2,3)+power(2,4) --李四具有所有权限 5 /* select * from 权限 drop table 权限 比如说,我想查询张三对电器类有什么权限的时候我应该怎么写? 谁能仔细说一下这中权限设计的原理??? */ --将邹老大的题改一下,变成查李四的,李四有所有权限,按说也应有电器类的权限 --但结果不符 select 新增=case power(2,1) & 操作权限 when power(2,1) then '?' else '' end ,修改=case power(2,2) & 操作权限 when power(2,2) then '?' else '' end ,删除=case power(2,3) & 操作权限 when power(2,3) then '?' else '' end ,打印=case power(2,4) & 操作权限 when power(2,4) then '?' else '' end from 权限 a join 用户 b on a.用户ID=b.id and b.用户名='李四' join 功能 c on a.功能ID=c.id and c.功能名称='电器' 52.--如何使用的示例: --测试数据 create table 角色表(RoleID int,RoleName varchar(10)) insert into 角色表 select 1,'Admin' union all select 2,'cwb' union all select 3,'manage' create table 权限表(RightID int,RightName varchar(50)) insert into 权限表 select 1,'M1_Browser' union all select 2,'M1_Add' union all select 3,'M1_Modify' union all select 4,'M1_Delete' union all select 5,'M1_Print' union all select 6,'M2_Browser' union all select 7,'M2_Print' union all select 8,'M3_Browser' union all select 9,'M3_Add' union all select 10,'M3_Modify' union all select 12,'M3_Print' 6 create table 角色权限表(RoleID int,RightID int) insert into 角色权限表 select 1,1 union all select 1,2 union all select 1,3 union all select 1,6 union all select 2,6 union all select 2,7 go --创建显示的存储过程 create proc p_show @RoleName varchar(10) as select 模块=模块 ,browser=max(case 权限 when 'browser' then 1 else 0 end) ,[Add]=max(case 权限 when 'Add' then 1 else 0 end) ,[Modify]=max(case 权限 when 'Modify' then 1 else 0 end) ,[delete]=max(case 权限 when 'delete' then 1 else 0 end) ,[print]=max(case 权限 when 'print' then 1 else 0 end) from( select 模块=left(RightName,charindex('_',RightName)-1) ,权限=substring(RightName,charindex('_',RightName)+1,50) from 角色权限表 a join 权限表 b on a.RightID=b.RightID where RoleID=(select RoleID from 角色表 where RoleName=@RoleName) ) a group by 模块 go --创建保存的存储过程 create proc p_save @RoleName varchar(10), --要保存的角色名称 @tbname sysname, --用户选择处理后的结果表名 @deletetable bit=1 --处理完成后是否自动删除结果表,1.(默认)自动删除 0.不删除 as declare @RoleID int,@s nvarchar(4000) select @RoleID=RoleID from 角色表 where RoleName=@RoleName SET XACT_ABORT ON begin tran delete 角色权限表 where RoleID=@RoleID set @s='insert into 角色权限表(RoleID,RightID) select @RoleID,a.RightID from 权限表 a join( select RightName=模块+''_browser'' from ['+@tbname+'] where browser=1 7 union all select 模块+''_Add'' from ['+@tbname+'] where [Add]=1 union all select 模块+''_Modify'' from ['+@tbname+'] where [Modify]=1 union all select 模块+''_delete'' from ['+@tbname+'] where [delete]=1 union all select 模块+''_print'' from ['+@tbname+'] where [print]=1 ) b on a.RightName=b.RightName' exec sp_executesql @s,N'@RoleID int',@RoleID if @deletetable=1 exec('drop table ['+@tbname+']') commit tran go --创建临时表表,保存显示结果 create table #t(模 块 varchar(10),browser bit,[Add] bit,[Modify] bit,[delete] bit,[print] bit) insert into #t exec p_show 'admin' --修改权限 update #t set browser=1,[Add]=1,[Modify]=1 --进行权限保存 exec p_save 'admin','#t' --显示保存结果 exec p_show 'admin' go --删除测试环境 drop table 角色表,权限表,角色权限表 drop proc p_show,p_save 8
本文档为【OA权限管理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:70KB
软件:Word
页数:13
分类:互联网
上传时间:2017-09-25
浏览量:32