Authentication 散列tomcat密码

Authentication 散列tomcat密码,authentication,tomcat,hash,Authentication,Tomcat,Hash,我正在尝试在tomcat-users.xml中对测试用例使用哈希。(我计划实现其中一个领域类的子类,用审计、日志等进行真正的身份验证)我运行了这个命令 $TOMCAT_HOME/bin/digest.sh -a sha secret 并得到结果“秘密:e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4”。我把这个贴在墙上 <user password="e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4" roles="test

我正在尝试在tomcat-users.xml中对测试用例使用哈希。(我计划实现其中一个领域类的子类,用审计、日志等进行真正的身份验证)我运行了这个命令

$TOMCAT_HOME/bin/digest.sh -a sha secret
并得到结果“秘密:e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4”。我把这个贴在墙上

<user password="e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4" roles="test" username="tester"/>

线路。我在web.xml中添加了适当的魔术词,以便对servlet(role=test)使用摘要身份验证,但是当我尝试登录时,出现了一个401错误

我用wireshark“观看”了交易,看来浏览器发送了所有正确的响应

我这样做对吗?在我看来,摘要身份验证将发回MD5(“用户名:领域:密码”),因此tomcat无法将存储在tomcat-users.xml文件中的值与浏览器发送的值进行比较,因为它需要从tomcat-users.xml中“取消”密码值或“用户名:领域:密码”

我应该存储“username:realm:password”的散列吗?

男孩,这是一个应得的(愚蠢的用户错误)

我应该更仔细地阅读tomcat文档:

如果将摘要密码与摘要身份验证一起使用,则用于生成摘要的明文是不同的。在上面的例子中,{cleartextpassword}必须替换为{username}:{realm}:{cleartextpassword}。例如,在开发环境中,这可能采用testUser:localhost:8080:testPassword的形式

正是我自己问题的最后一部分:-)