我正在尝试在Kinto中实现一个自定义的IAuthorizationPolicy。文档指向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。这是因为我想要cache the authentication tokens,而且据我所知,可以从request访问缓存。
但是,IAuthorizationPolicy#permits接受context参数,在该参数上我找不到任何请求或缓存。
发布于 2018-06-18 22:02:25
缓存,如果支持,也可以在config.registry.cache上访问,所以我将它注入到我的Auth策略中:
def includeme(config):
custom_authorization_policy = CustomAuthorizationPolicy(config.registry.cache)
config.set_authorization_policy(custom_authorization_policy)https://stackoverflow.com/questions/50909196
复制相似问题