美文网首页
权限和访问控制模块

权限和访问控制模块

作者: JSON_NULL | 来源:发表于2018-06-11 17:42 被阅读33次

名词解释

各级用户:系统可能具有多级用户,也就是说用户可能具有上下级关系。

访问权限:当用户访问一个资源时或对一个资源进行查看和修改操作时,用于判断用户是否有权进行此操作。

资源的可见性:用于定义一个资源可以被哪些用户看到。只有在用户“可见”的情况下才可进行某些操作。

公开等级:用户的资源可以设置公开,或不公开,从而控制资源可以被哪些人看到。

问题定义

在对“权限和访问控制模块”进行分析时,可把系统中的所有对象分为两部分:

  1. 主体:系统的使用者,主动向系统发出操作指令的对象,也就是系统的用户。
  2. 客体:系统中被主体所操作的资源,接受主体操作指令而发生状态改变的对象。

其实在某此场景下主体也可能成为客体。例如在“系统管理员”对系统中用户进行管理时,在其他场景下作为主体而存在的系统用户,在此场景下就是作为客体而存在的。

在权限和访问控制模块中,需要定义好客体对主体的可见性,以及主体对客户的访问权限。

综上,权限和访问控制模块要解决的问题如下:

  1. 定义资源的可见性;
  2. 定义用户对资源的访问权限。

功能设计

实现五种资源公开等级

  1. 私有:仅自己可见
  2. 内部:仅自己和上级可见
  3. 外部:仅自己和下级可见
  4. 同级:仅自己和同一上级的平级可见
  5. 公开:全部可见

其中“私有”和“公开”两个权限是排它的;“内部”、“外部”和“同级”三个权限可多选。

资源的公开等级用于定义资源的可见性。

实现四种用户访问权限

  1. 列表读取权限
  2. 内容读取权限
  3. 内容读写权限
  4. 递归读写权限

以上四种访问权限中凡是靠下面的访问权限都将包含其上面的所有访问权限。也就是说拥有访问权限(4)则同时会访问权限(1)、(2)、(3)。

用户的访问权限用于定义用户对资源的访问权限。

列表读取权限

只能读取自己“可见”的资源列表。无法查看资源的详细内容。

内容读取权限

能够读取自己“可见”的资源列表;并且凡是列表中的资源,都可查看其详细内容。但无法创建资源,也无法修改资源内容。

内容读写权限

能够读取自己“可见”的资源列表;并且凡是列表中的资源,都可查看其详细内容。可创建资源,可修改自己创建的资源内容。无法修改权限范围内非自己创建资源的内容。

递归读写权限

能够读取自己“可见”的资源列表;并且凡是列表中的资源,都可查看其详细内容。可创建资源,可修改自己创建的资源内容。并可修改权限范围内非自己创建资源的内容。

特权写功能

在一些特殊的情况下,可能需要下级用户修改上级用户的某个资源。在“五种公开等级”与“四种访问权限”组合后无法满足这个需求。所以需要一个“特权写”功能,让上级用户直接把某个资源授权给下级用户进行写操作。这时下级用户可通过一个特定的URL访问已经授权的资源,并对其进行修改。

相关文章

  • 权限和访问控制模块

    名词解释 各级用户:系统可能具有多级用户,也就是说用户可能具有上下级关系。 访问权限:当用户访问一个资源时或对一个...

  • 19.访问权限

    swift中的访问权限 Swift 中的访问控制模型基于模块和源文件这两个概念 internal : 在本模块中都...

  • Swift中的排序和访问控制fileprivate和open关键

    swift中的访问权限 Swift 中的访问控制模型基于模块和源文件这两个概念internal : 在本模块中都可...

  • 第二十三节 Swift 的访问控制

    通过访问控制可以限定其它模块的代码对你代码的访问权限。 Swift 常用三种访问权限: Public:可以访问当前...

  • Swift语法 -- [19 - 访问控制]

    在访问权限控制这块,Swift提供了5个不同的访问级别: open: 允许在定义实体的模块、其他模块中访问,允许其...

  • 访问控制(Access Control)

    在访问权限控制中,Swift提供了5种不同的访问级别1.open:允许在定义实体的模块,其他模块中访问,允许其他模...

  • Swift 访问控制权限

    Swift 访问控制权限 访问控制可以限定其它源文件或模块对你代码的访问。这个特性可以让你隐藏代码的实现细节,并且...

  • Java基础学习六 关键字

    java语言中的访问控制权限修饰符 访问控制权限修饰来控制元素的访问范围。 访问控制权限修饰符包括:public ...

  • Nginx 之 基于ip和用户的控制

    1 概述 本文将介绍基于ip和用户实现对网页的访问权限控制。通过ngx_http_access_module模块实...

  • Java访问控制修饰符

    访问控制修饰符: 用来控制对类、方法和变量访问权限的修饰符。Java 支持 4 种不同的访问权限: default...

网友评论

      本文标题:权限和访问控制模块

      本文链接:https://www.haomeiwen.com/subject/uxmheftx.html