0

我正在尝试IAuthorizationPolicy在 Kinto 中实现自定义。该文档指向https://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/authorization.html,这并没有让我完全理解如何将我的添加IAuthorizationPolicy到 Kinto 应用程序中。

我的解决方案是把它做成一个插件,并实现如下includeme功能:

def includeme(config):
  custom_authorization_policy = CustomAuthorizationPolicy()
  config.set_authorization_policy(custom_authorization_policy)

但后来,在 中IAuthorizationPolicy#permits,我想访问request当前正在处理的。这是因为我想缓存身份验证令牌,并且据我了解,缓存可以从request.

但是,IAuthorizationPolicy#permits接受context参数,在它上面我找不到任何请求或缓存。

4

1 回答 1

0

缓存(如果支持)也可以访问config.registry.cache,因此我将其注入到我的身份验证策略中:

def includeme(config):
  custom_authorization_policy = CustomAuthorizationPolicy(config.registry.cache)
  config.set_authorization_policy(custom_authorization_policy)
于 2018-06-18T14:02:24.693 回答