网站大量收购独家精品文档,联系QQ:2885784924

权限控制设计.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
权限控制设计

权限控制设计 概念 组 件:对应于现实中或者概念中存在的事物,是构成世界的客观存在;对于权限来说,组件构成了要保护的资源 组件服务:业务组件暴露出来供客户访问的功能 组件属性:用来描述业务组件的最小数据要素 权限对象:用来保护组件的控制单元,包括权限字段和功能表两大部分。 权限字段:对组件的一个属性形成保护的最小单位 功能表:被权限对象保护的组件的服务 权 限:权限对象实例化之后的实例,用来保护一个具体的交互服务中的数据和功能;权限由参数和功能两部分组成,分别对应于权限对象的权限字段和功能表。 设计约束 组件本身不包含任何的权限逻辑,权限必须在对应的page类中与具体的方法绑定后才起作用。 一个组件可以由多个权限对象来保护,一个权限对象只能保护一个组件。 权限对象只有对应到一个具体的交互服务之后才能发挥作用 一个权限对象对应到一个具体的交互服务之后,可以同时实例化一个以上的权限对象实例来共同形成对组件的保护。这些权限对象之间的关系是“或”的关系 对于交互服务上的一个查询列表,只能由一个权限对象来进行保护。 特别说明 权限中的查询条件:是由权限的参数值按照一定的规则自动创建,用来限制该权限对应的组件的数据范围的一个表达式 按照相同权限之间的关系为“或”的约束,多个相同权限对象的权限的查询条件构成筛选业务数据范围的规则 权限的侵入点(page类) 1、查询列表的权限侵入点:page类的查询函数,该函数扩展业务对象的查询方法,取得权限条件之后将其传递到业务对象中去,得到所需要的数据 2、业务方法的权限侵入点:page类的对应方法。在这里取得相应的权限对象,然后检查调用者是否有权限访问该方法。 3、字段数据的权限侵入点:这种对应于一个字段的外部实体。对于外部实体,筛选出来的数据要符合外部实体对应的数据的查询权限。如果需要在权限之外再增加更严格的限制,如查询出特定状态的数据,如审核状态的凭证,则需要在该页面对应的page类中对参数再次进行加强 对于业务方法的显示 对于一个界面上业务方法的显示,有如下情况: 1、对于查询列表上的权限,要取该列表对应的所有权限实例中的方法的并集; 对于这种情况来说,可能会出现一个数据对应了一个没有授权的功能,这种情况可以通过在调用该方法的时候在page类里面完成鉴权,提示用户此操作不允许。也可以在用户选择单条数据的时候通过脚本将该方法隐藏起来。 2、对于一条数据来说,要根据该数据的权限要素取相应权限对象对应的方法列表; 对于查询列表的数据 一个查询列表只能受一个权限对象保护(可以形成该权限对象的多个实例) 关于枚举值 对于简单的枚举值系统不进行权限控制,因此,如果一个代码表需要进行权限控制,就需要把它做成基础数据而不是在代码表中进行设置。 应用开发过程 应用开发过程分成如下几个步骤 1、定义数据库表 2、使用业务对象工具提取数据库表元数据 3、在业务对象工具中利用数据库表元数据组装组件,定义组件对应的方法; 4、定义该组件的权限对象 5、用业务对象工具创建组件对应的类及相应的方法,并按照业务要求编写业务逻辑 6、使用界面定制工具定制界面,并创建对应的脚本文件和page类;在对应的脚本文件和page类中按要求编写控制代码,包括调用前的权限配置和检查,以及相应的提示信息信息等。 7、按照要求将得到的界面配置到基础设施中 在哪里实现权限的侵入 PAGE类

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档