函数和类的acl安全性

secobj的Python项目详细描述


包“secobj”为函数、类和方法提供访问控制列表。他们是 由一个名为“access”的装饰器声明和执行。这个图书馆的目标是简单 有效使用,但同时提供足够的可配置性,以掌握复杂的场景。

目前“secobj”只提供基于访问控制列表的授权。稍后 在可能的情况下,库将使用身份验证功能进行扩展。

decorator“access”是这个库的关键元素。它增强了装饰功能, 带有变量的类或方法,其命名模式为“\uu acl.*\uu”。在运行时 变量由修饰函数计算,访问被授予或拒绝。签名 装饰器如下:

access(*rules, **kwargs)

decorator可以使用参数调用,也可以不使用参数调用。可能的参数是:

  • rules: This is either a sequence of tuples defining the access control rules. Each tuple consits of two or more items:

    1. The desired action. “ALLOW” or “DENY” are provided.
    2. The effective principal. Either a user, group, list of groups or one of the predefined principals: ANONYMOUS, SYSTEM, AUTHENTICATED, OWNER, EVERYONE.
    3. Zero or more permissions, which will be granted or denied. If no permission is defined, than the default permission will be used as the permission defined by this rule.

    或者它是引用命名访问控制列表的字符串。字符串的格式是 配置文件中不带前缀“rules:”的节的唯一名称 通过符号“”和本节中选项的名称。如果没有定义这样的选项 在配置文件中,将忽略命名访问控制列表。这个可以用来 在安全系统中定义外部可配置挂钩。

    每个访问控制列表将由函数中定义的策略规则扩展 “initsecurity”,通过“secobj”部分中的“policy_rules”选项和中的“policy”选项 同一部分,按顺序排列。

  • 关键字inherit:一个布尔标志,用于控制 超类的方法或由超类本身定义的方法将生效。这个论点 只与方法和类相关,否则将被忽略。

  • 关键字permission:这是必须由 有效的访问控制列表。 如果在类上未提供此参数,则名为 已定义类的限定名。 如果没有在方法上提供,则权限将是类的权限。 如果在函数中省略了“all”权限,则该权限将生效,这意味着 会的。

  • 关键字owner:它定义将拥有类和实例的主体,或者 功能。此参数被方法忽略。方法始终由定义类拥有 或者通过实例。默认所有者是用户系统。

  • 关键字callback:定义一个函数,该函数被调用来检索资源(类, 方法,函数),用于提供定义访问的运行时变量 控制。函数将调用并传递所有参数,并且必须返回适当的 资源对象。

在使用库之前,必须调用函数“initsecurity”。有选择地 提供的配置文件可以控制许多方面。合理违约的定义是 图书馆。日志记录由using应用程序配置或作为配置提供 文件到函数“initsecurity”。如果根本没有配置日志记录,库将使用 生成的日志消息的空处理程序。函数的签名如下:

initsecurity(configfile=None, logconfigfile=None, policyrules=None)

参数如下:

  • configfile: This is the name of the main configuration file defining the configurable aspects. The relevant sections used by the library are “secobj” and “rules:<unique name>”.
  • logconfigfile: Configuration options for the logging facility as described in the python library documentation. This parameter can be the same as the configuration file and is the name of the corresponding file.
  • policyrules: Same as the argument “rules” of the decorator “access”. The rules defined here are appended to every access control list.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
并行处理java。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量