JDBCRealm中使用带有散列密码的tomcat基本/摘要身份验证的方法?

躁狂泡泡

我想使用基于Tomcat角色的身份验证,问题是我将散列的密码存储在数据库中,因此无法使用基本身份验证/摘要。有没有办法将明文密码与哈希密码进行比较?我使用SHA哈希密码。

克里斯托弗·舒尔茨

Tomcat可以对用户尝试输入的密码进行哈希处理,并将其与数据库中的密码进行比较。这将无法使用,HTTP DIGEST但应该可以使用HTTP BASIC您可能要使用,DataSourceRealm而不是JDBCRealm因为它会更好。

<Realm>像这样配置您

<Realm className="org.apache.catalina.realm.DataSourceRealm"
  dataSourceName="jdbc/myDataSource"
       userTable="users"
     userNameCol="user_name"
     userCredCol="user_pass"
   userRoleTable="user_roles"
     roleNameCol="role_name"
          digest="SHA1" />

显然,您必须自定义上面的值以匹配数据库中的值。

需要注意的一点是:如果用户数据库被盗,SHA1哈希不足以保护存储的凭据不被反向工程。您将需要实施某种密码加强策略来保护用户的凭据。我建议尝试从SHA1切换到PBKDF2,bcrypt / scrypt,甚至使用SHA-512加上盐和很少的迭代次数(如成千上万次)。Tomcat的最新版本可以为您处理迭代和添加盐分,并且还允许您相当轻松地插入其他功能,例如bcrypt / scrypt和PBKDF2。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用带有现有散列密码的 Django 身份验证系统

来自分类Dev

为什么在 AWS Redshift 中使用 md5 散列密码时密码身份验证失败?

来自分类Dev

使用基本身份验证与摘要式身份验证与Windows身份验证的原因

来自分类Dev

HTTP基本身份验证URL,密码中带有“ @”

来自分类Dev

HTTP基本身份验证URL,密码中带有“ @”

来自分类Dev

是否可以在Uptime中使用Http摘要身份验证?

来自分类Dev

部署后,Tomcat JDBCRealm身份验证不起作用

来自分类Dev

在 Tomcat 8 中使用基本身份验证时出现错误 403

来自分类Dev

在php中使用django密码进行身份验证

来自分类Dev

无法在AngularFire 0.9.0中使用新的密码身份验证方法?

来自分类Dev

如何在基本身份验证中使用RestTemplate

来自分类Dev

在Angular中使用http $进行基本身份验证-传递用户名/密码和grant_type

来自分类Dev

覆盖Tomcat基本身份验证

来自分类Dev

WSE3中的密码摘要身份验证

来自分类Dev

如何针对盐和散列的密码和用户名对用户进行身份验证?

来自分类Dev

泽西岛安全摘要vs基本身份验证

来自分类Dev

如何在带有Servicestack的.NET Core中使用Windows身份验证登录

来自分类Dev

如何在带有supertest,passport和JEST的cookie中使用jwt测试身份验证

来自分类Dev

PAM:身份验证失败,使用有效的密码

来自分类Dev

Azure Api 规则不适用于使用带有基本身份验证和身份验证证书的默认助手

来自分类Dev

使用用户/密码将基本身份验证添加到web.config的最简单方法

来自分类Dev

在Linux中使用--digest选项进行curl的“摘要身份验证”

来自分类Dev

如何在角度离子中使用摘要式身份验证发送请求

来自分类Dev

使用Java HttpClient发送带有443个用户ID密码提示身份验证的GET请求

来自分类Dev

通过带有密码的跳转服务器进行scp,使用私钥对目标进行身份验证

来自分类Dev

Laravel 5-如何使用带有用户名的基本身份验证代替电子邮件?

来自分类Dev

如何通过带有json的SSL通过IIS在WCF终结点上使用基本身份验证?

来自分类Dev

卷曲授权的正确方法:带有散列的基本

来自分类Dev

使用带有节点的Azure AD进行身份验证

Related 相关文章

  1. 1

    使用带有现有散列密码的 Django 身份验证系统

  2. 2

    为什么在 AWS Redshift 中使用 md5 散列密码时密码身份验证失败?

  3. 3

    使用基本身份验证与摘要式身份验证与Windows身份验证的原因

  4. 4

    HTTP基本身份验证URL,密码中带有“ @”

  5. 5

    HTTP基本身份验证URL,密码中带有“ @”

  6. 6

    是否可以在Uptime中使用Http摘要身份验证?

  7. 7

    部署后,Tomcat JDBCRealm身份验证不起作用

  8. 8

    在 Tomcat 8 中使用基本身份验证时出现错误 403

  9. 9

    在php中使用django密码进行身份验证

  10. 10

    无法在AngularFire 0.9.0中使用新的密码身份验证方法?

  11. 11

    如何在基本身份验证中使用RestTemplate

  12. 12

    在Angular中使用http $进行基本身份验证-传递用户名/密码和grant_type

  13. 13

    覆盖Tomcat基本身份验证

  14. 14

    WSE3中的密码摘要身份验证

  15. 15

    如何针对盐和散列的密码和用户名对用户进行身份验证?

  16. 16

    泽西岛安全摘要vs基本身份验证

  17. 17

    如何在带有Servicestack的.NET Core中使用Windows身份验证登录

  18. 18

    如何在带有supertest,passport和JEST的cookie中使用jwt测试身份验证

  19. 19

    PAM:身份验证失败,使用有效的密码

  20. 20

    Azure Api 规则不适用于使用带有基本身份验证和身份验证证书的默认助手

  21. 21

    使用用户/密码将基本身份验证添加到web.config的最简单方法

  22. 22

    在Linux中使用--digest选项进行curl的“摘要身份验证”

  23. 23

    如何在角度离子中使用摘要式身份验证发送请求

  24. 24

    使用Java HttpClient发送带有443个用户ID密码提示身份验证的GET请求

  25. 25

    通过带有密码的跳转服务器进行scp,使用私钥对目标进行身份验证

  26. 26

    Laravel 5-如何使用带有用户名的基本身份验证代替电子邮件?

  27. 27

    如何通过带有json的SSL通过IIS在WCF终结点上使用基本身份验证?

  28. 28

    卷曲授权的正确方法:带有散列的基本

  29. 29

    使用带有节点的Azure AD进行身份验证

热门标签

归档