oslo_policy学习小结

0 公共方法

0.1 Enforcer.load_rules(self, force_reload = False) #从policy_file加载policy规则

判断是否force_reload,若是,将self.use_conf设为True

调CONF.find_file寻找组件对应的policy.json,找到的话将self.policy_path设为找到的文件路径

然后判断policy.json是否修改,每次load_rule前,会检查policy.json是否发生变更,通过os.path.getmtime(filename)是否变动判断是否需要重新加载policy.json,若加载,将policy.json加载到实例的self.rules中,加载完后,以policy.json完整路径为键,将文件内容为值更新入enforcer实例的cache dict。初次加载时cache为空,第二次及后续加载直接通过mtime变更判断。

cache有两个键,一个是policy.json完整路径,存文件内容,作用类似于缓存;另一个键是mtime,判断policy.json是否更新,如果更新则重新加载policy.json,并更新cache dict

1 oslo_policy.policy.Enforcer.authorize()

先判断action是否在enforcer实例的registered_rules中,若在,再执行enforce,若不在,抛PolicyNotRegistered异常

2 oslo_policy.policy.Enforcer.enforce(context, action, target)

2.1 load_rules()

2.2 从self.rules检查是否存在rule,若存在则递归检查传入的credential是否在每个role中,若任意匹配到一个则True,若credential对应的role在对应的rule中没有匹配的role则False。最后如果传入enforce的do_raise参数为True且result为False则raise异常,如果给enforce传入了异常处理函数则抛传入的指定异常,否则抛PolicyNotAuthorized异常

相关推荐

  1. 机器学习小结

    2024-03-26 14:42:03       33 阅读
  2. CSS学习小结

    2024-03-26 14:42:03       16 阅读
  3. swift学习小结

    2024-03-26 14:42:03       17 阅读
  4. stevedore学习小结

    2024-03-26 14:42:03       13 阅读
  5. oslo_policy学习小结

    2024-03-26 14:42:03       15 阅读
  6. oslo_rootwrap学习小结

    2024-03-26 14:42:03       10 阅读
  7. 《深度学习的数学基础》小结

    2024-03-26 14:42:03       18 阅读
  8. stable diffusion 提示词进阶语法-学习小结

    2024-03-26 14:42:03       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-26 14:42:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-26 14:42:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-26 14:42:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-26 14:42:03       18 阅读

热门阅读

  1. Qt源码分析:QMetaObject实现原理

    2024-03-26 14:42:03       18 阅读
  2. MongoDB 的索引有哪些 nestjs mongoose示例

    2024-03-26 14:42:03       15 阅读
  3. 在线数据格式工具

    2024-03-26 14:42:03       14 阅读
  4. 论文阅读--Offline RL Without Off-Policy Evaluation

    2024-03-26 14:42:03       14 阅读
  5. vue/js总结合集

    2024-03-26 14:42:03       16 阅读
  6. 面试算法-117-组合总和 III

    2024-03-26 14:42:03       13 阅读