【问题标题】:authentication of webapps when passwords are hashed with bcrypt使用 bcrypt 对密码进行哈希处理时对 webapps 的身份验证
【发布时间】:2011-03-04 02:28:24
【问题描述】:

我创建了一个需要身份验证的 GWT 项目。最初,用户的密码是纯文本的,但现在我想用 BCrypt 对它们进行哈希处理。我进行了搜索,但找不到描述如何使 Jetty 针对 BCrypt 散列密码进行身份验证的地方。

我正在使用纯文本格式的 FORM 并通过 SSL 将密码发送到服务器。我需要做什么才能让 Jetty 对这个密码进行哈希处理并将其与数据库中的密码进行比较?

谢谢;

【问题讨论】:

  • 如果我理解正确,您希望(或者更确切地说,已经拥有)Jetty 来处理会话/用户管理 - 但是您可能希望考虑在您的应用程序中编写身份验证部分 - 请参阅这个问题:@ 987654321@。它应该为您提供最大的灵活性(集成 BCrypt 没有问题)和安全性(通过容器进行的会话管理通常容易受到 XSRF 攻击)。一般来说,这是不鼓励的 - 在 GWT 的 Google 群组中搜索 "session management",当然是 YMMV :)

标签: authentication gwt jetty bcrypt


【解决方案1】:

在 JAAS 中,这是由 LoginModule 完成的。 Jetty-specific JAAS 教程(实际上我只是看了一眼)解释了如何实现自己的,并配置 Jetty 以使用它。

正如 Igor 在他链接的帖子中已经指出和解释的那样,仅容器会话管理不足以防御 XSRF。您仍然可以使用 JAAS - 但请确保您的服务器调用另外 存储在 cookie 中的令牌保护。

我个人会使用与 cookie 中使用的不同的令牌。这有助于保护一点免受 XSS 的攻击(否则,您将违背 httpOnly cookies 的目的)。

【讨论】:

  • 这是这篇文章之后的一个问题,但您说 jaas 不足以保护网站。还是这样吗?这是一个 jsf 项目。
  • 您链接的教程也已关闭。我正计划为 jaas 实施 bcypt,但很难找到如何实施。
猜你喜欢
  • 2016-06-06
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 2017-04-25
相关资源
最近更新 更多