上下文
我的应用程序依赖外部服务进行身份验证,python具有函数authentiate_request
,它将request
实例作为param,并返回结果dict:
- successful: true
- username: alice
- cookies: [list of set-cookie headers required to remember user]
- successful: false
- redirect: url where to redirect user for web based auth
现在,对这个函数的调用比较昂贵(下面是HTTP )。
问题
我刚接触过金字塔安全模型,我很难使用现有的/正确地为我的应用程序编写AuthenticationPolicy
,所以它使用我的auth服务,并且不会在每次会话中调用它的API一次以上(在auth成功场景中)?
发布于 2015-09-27 16:26:10
有两种广泛的方法可以将定制的auth与金字塔集成:-为金字塔编写您自己的身份验证策略(我还没有这样做)-编写您自己的中间件来处理您的auth问题,并在金字塔中使用RemoteUserAuthenticationPolicy (我已经这样做了)。
第二步,编写一些标准的wsgi中间件,在其中整理您的自定义身份验证业务,然后写入wsgi。然后金字塔授权就可以正常工作了,金字塔系统将从wsgi的“REMOTE_USER”设置中获得用户值。
我个人喜欢这种方法,因为在您的中间件中包装不同的应用程序很容易,关闭或交换它非常简单。虽然这并不是你真正想要的答案,但这可能是一个比你正在尝试的更好的方法。
https://stackoverflow.com/questions/29341688
复制相似问题