漫谈权限系统系列之概述、目的和需求.docxVIP

漫谈权限系统系列之概述、目的和需求.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
漫谈权限系统系列之概述、目的和需求

一.? 概述本文根据对中小型应用系统的权限系统的需求进行阐述,并对通常用于实现权限系统的两种思想、技术策略以及技术实现方案进行描述,比较其优缺点,同时对开源类型的产品进行介绍,最后结合自己的实际经验介绍自己的实现方案以及碰到的难点。本文并不是什么理论化的文章,完全是实战型的总结和实战的讨论,至于理论请大家去参考更为专业的文章。二.? 目的此文的编写作为自己对于权限系统进行系统化的整理,毕竟权限系统是几乎所有系统中都需要的,但一直以来由于在权限系统上并没有什么通用的方案,所以几乎是N多的人都实现了自己的一套,在此我也是抛砖引玉。三.? 需求3.1.?????? 描述这里对于需求的描述都是基于自己工作以来实际项目需求的经验而综合的,如有遗漏之处欢迎大家补充,不过也希望大家明白范围,是指中小型系统,至于大型的企业系统从来就没做过,我也无从提出需求。从一个实际的场景来描述一般中小型系统中涉及的权限需求吧,在通常的B/S系统中,首页列出不需登录可访问的信息,登录后则根据用户拥有的权限显示相应的菜单,在具体菜单对应的模块里根据用户的权限显示相应权限的按钮,同时显示当前用户可访问的相应的资源。非功能性的需求:l???????? 简便的授权方式。避免每增加一个用户就要不断的去授予N多的权限,避免相同权限的用户还要去相同的授予,提供出分组的功能。l???????? 权限的继承。在上面提出分组的功能后考虑到组应支持嵌套功能,即子组自动继承父组的权限,这样授权时就更加简便了。l???????? 高性能。不能因为校验权限而严重影响到系统的性能。l???????? 安全性。除正常途径方式访问系统的保护外,也需要避免通过非正常的途径访问系统中受保护的资源。除了这些用户通常直接提出的需求外,在实际的项目中通常还会有这些需求:l???????? 权限的排斥和包含。用户在实际的使用后通常会提出这个需求,权限的排斥主要是指当用户拥有权限A时则不能同时再拥有权限B,这个在实现了权限继承的系统中尤为突出;权限的包含主要指当用户拥有权限A时自动拥有了权限B,实际的例子是当用户拥有管理权限时自动同时拥有访问权限。l???????? 系统资源权限的继承。在对带有分级性质的资源进行授权时子资源自动继承父资源的权限,这个在文档管理类型的系统中比较常见,即目录中的文档自动拥有目录的权限。l???????? 系统资源权限的多种授予对象。通常系统的权限是授予到角色中,而对于系统资源的权限授予上用户在使用后通常会提出需要授予到多种对象,除角色之外还需可授予给组织机构或者具体的用户。3.2.?????? 分析对需求中列出的场景进行分析:l???????? 上下文未登录用户、登录用户、管理用户不同的界面等情况。l???????? 问题如何识别是否为登录用户、管理用户或未登录用户。l???????? 解决方案提供身份认证功能,通过此功能标识用户身份。??????? l???????? 上下文根据用户拥有的权限显示相应的菜单,在具体菜单对应的模块里根据用户的权限显示相应权限的按钮。l???????? 问题由于菜单或者按钮都是通过触发链接或命令的方式来实现其功能,那么在权限系统中需要做到的即可通过判断用户是否具有执行此链接或命令的权限来实现对于菜单和按钮的显示的控制。这样带来的问题就是如何判断用户是否拥有执行某链接或命令的权限以及如何根据此结果去隐藏菜单和按钮的显示。l???????? 解决方案提供校验用户是否拥有执行某链接和命令的权限的功能。提供控制菜单、按钮显示的功能。?l???????? 上下文显示当前用户可访问的相应的资源,有两种情况,一种是全部显示,一种是分页显示。l???????? 问题如何判断用户可访问哪些资源,资源如何进行分页处理。l???????? 解决方案提供获取用户权限范围内的资源的功能,并提供全部获取和分页获取两种方式。?l???????? 上下文简便的授权方式。l???????? 问题为提升用户授权的简便性,将权限授予给角色或组,用户只需要属于这个角色或组即可拥有相应的权限。如何建立满足需求的授权模型。l???????? 解决方案根据需求建立相应的授权模型。?根据对需求的分析,可以得出权限系统需要做到如下的功能:l???????? 用户身份认证。l???????? 校验用户是否拥有执行某链接和命令的权限的功能。l???????? 控制菜单、按钮显示的功能。l???????? 获取用户权限范围内的资源的功能,并提供全部获取和分页获取两种方式。l???????? 建立相应的授权模型。?在非功能性需求方面权限系统需要考虑如下几个方面:l???????? 权限的继承。l???????? 权限的排斥和包含。l???????? 高性能。l???????? 安全性。l???????

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档