快速业务通道

使用DMTF标准的Profile管理IBM i用户权限 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
dAuthorizationService 声明了 Profile 支持的内部操作和外 部方法。这些方法为管理应用提供了修改用户权限的手段。从实现者的角度,可 以有选择的支持这些方法。这些方法主要有:

CreateRole(),创建具有特殊权限的新角色

DeleteRole(),删除一个角色

ModifyRole(),修改角色及其具有的权限

AssignRole(),授予用户某个角色

ShowAccess(),查询用户权限

ShowRoles(),查询用户角色

以 ModifyRole() 方法为例,该方法需要一个 Role 的实例和若干 Privilege 的实例作为输入参数,这些实例是通过关联类 ServiceAffectsElement 来得到的,ServiceAffectsElement 用来查询支持 RoleBasedAuthorizationService 类上的方法的角色和权限的集合。

作为 Profile 的使用者,如何得知以上方法是否被支持呢?类 RoleBasedManagementCapabilities 中的属性 SupportedMethods 中包含了已经 实现的方法。在调用 RoleBasedAuthorizationService 中相应的方法前,应该 先查询 RoleBasedManagementCapabilities 的 SupportedMethods 中是否已经 支持了该方法。

用户权限管理

由于代表权限的类 Privilege 和代表用户的类 Identity 之间并未存在直接 的联系,为了发现一个用户的权限,需要通过该用户的角色,即通过两次 MemberOfCollection 关联关系来得到用户的权限,这也说明权限的组合定义了 角色。在默认情况下,一个通用的角色应该拥有固定的众所周知的某些权限,例 如表 1 中的 5 种角色都属于通用的角色。假如有一个用户 A,我们想赋予他 *ALLOBJ 和 *SAVSYS 权限,那么我们为他指定一个通用的 USER 角色即可。如 图 2 所示:

图 2. 使用系统通用角色进行权限管理

但考虑以下情况:如果我们同时想授予用户 A 一个 *SECADM 权限,但不幸 的是没有一个通用的角色同时拥有且只拥有这三个权限,那么基于角色授权 Profile 是怎么处理这种情况呢?

使用DMTF标准的Profile管理IBM i用户权限(3)

时间:2010-12-13 IBM 荆雷

方式一:创建新的通用角色

基于角色授权 Profile 允许创建拥有客户化权限的新的通用角色。一个具有 以上三种权限的角色被创建和指定给用户 A 即可,同时该角色保存在系统中并 可以指定给其他用户。这样通过 MemberOfCollection,一个 Identity 类的实 例不再关联到通用角色 USER 而是新建的角色,通过该新角色就能获取用户 A 的 3 个权限。遗憾的是在 IBM i 上并不支持创建新角色,所以这种方式不适用 于 IBM i。

图 3. 通过创建新的通用角色进行权限管理

方式二:专有的角色

在这种方式下,用户 A 通过 ConcreteDependency 关联到一个专门用于用户 A 的角色,这个角色不能应用到其他用户,该角色关联 3 个权限。这个专门的 角色存在的前提是没有通用的角色可以表达用户的权限。这样客户化的权限可以 单独授予每个用户。请注意专有角色和 Identity 之间使用的连接类是 ConcreteDependency 而非 MemberOfCollection 以区分专有角色和通用角色。

图 4. 通过专有角色进行权限管理

在实现过程中,这两种权限管理方式可以同时存在。

使用DMTF标准的Profile管理IBM i用户权限(4)

时间:2010-12-13 IBM 荆雷

基于角色授权 Profile 的应用示例

基于 Profile 开发管理应用程序的好处是流程和接口的标准化。虽然在系统 一侧,由于所在平台的差异,构造 Profile 中每个类的实例需要依赖平台相关 的代码,但如果支持了 Profile,那么在构建用户接口即 Console 侧,按照 Profile 的用例来对这些管理数据的提取和使用,可以省略接口协商过程和做到 平台无关。

下面的代码使用到了 SBLIM 提供的开发包,SBLIM 是 IBM 发起的旨在 GNU/Linux 上管理标准化的一个开源项目。SBLIM CIM Client for Java 是一个 Linux

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号