2

我正在开发一个 Java REST 项目,我目前正在使用带有基本身份验证的 JDBC 领域。我正在存储密码的 SHA-256 哈希,基本身份验证工作正常。为了切换到 Digest 身份验证,我将领域的 JAAS 上下文从 jdbcRealm 更改为 jdbcDigestRealm,并在 web.xml 中将 auth-method 设置为 DIGEST。

由于某种原因,如果我提供哈希本身,这会导致身份验证成功。当设置为摘要身份验证时,Glassfish 似乎不会自动散列提供的密码字符串,然后检查它,就像基本身份验证一样。

这是我的领域配置:

  • JAAS 上下文:jdbcDigestRealm
  • JNDI:jdbc/restshop
  • 用户表:用户
  • 用户名栏:用户名
  • 密码栏:密码
  • 组表:user_role
  • 组名列:role_name
  • 摘要算法:SHA-256
  • 编码:十六进制

领域配置中还有密码加密算法字段,我不确定它的目的是什么。

任何帮助表示赞赏,如果您需要任何其他信息,我会提供。谢谢。

4

0 回答 0