【问题标题】:Combining pyramid with cornice and basic auth does password checking twice, how to prevent?将金字塔与檐口和基本身份验证结合使用两次密码检查,如何防止?
【发布时间】:2015-07-29 21:38:36
【问题描述】:

目前我正在开发一个将基本身份验证与檐口/金字塔框架相结合的项目。

从日志中我观察到,每次访问 url 时,使用的凭据都会被检查两次。由于在我们的用户案例中,这确实涉及大量数据库检查,因此它是(意外)DoS 攻击的潜在目标。

在我看来,我用工厂定义了一个檐口服务。 在我的应用程序设置中,我将金字塔提供的 BasicAuthenticationPolicy 配置为资源密集型检查作为身份验证的回调 同样在应用程序设置中,我配置了金字塔提供的 ACLAuthorizationPolicy 以进行授权。

所以我想知道我错过了什么,因为我真的很想阻止第二次检查的发生。 (我应该以某种安全的方式将其缓存在请求对象上吗?)

【问题讨论】:

    标签: security pyramid basic-authentication cornice


    【解决方案1】:

    通过研究代码发现这是预期的行为。

    只有在使用 authenticated_userid 属性时才会触发此行为(我就是这样做的)。

    通过装饰器“缓存”对我的身份验证函数的调用解决了这个问题。这应该没问题,因为将通过函数参数引用相同的对象。

    文档可以在金字塔包pyramid/authentication.py中找到

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 2023-02-17
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多