Tomcat Digest 与 Manager WebApp

2024-03-18

我正在尝试为 tomcat 管理器应用程序设置摘要密码。

我有

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase" digest="MD5"/>

在我的 tomcat server.xml 中,将管理器 Web 应用程序的 web.xml 更改为使用摘要,并将领域名称更改为 TESTING:

<login-config>
    <auth-method>DIGEST</auth-method>
    <realm-name>TESTING</realm-name>
  </login-config>

然后我使用包含的 bat 文件生成 md5 哈希值:

C:\tomcat6\bin>digest.bat -a MD5 tomcat:TESTING:testor
tomcat:TESTING:testor:1926e50988667dbd5deda9df02b82f28

然后,我在 tomcat-users.xml 中有一个用户,并将该摘要哈希作为密码:

<!-- testor -->
  <user username="tomcat" password="1926e50988667dbd5deda9df02b82f28" roles="manager"/>

我还修改了 401.jsp 页面以使用摘要和测试作为领域名称。

我启动网络应用程序,转到http://localhost:8080/manager/html http://localhost:8080/manager/html并提示使用标准表格。正在输入tomcat作为用户,并且testor作为密码,我按回车键只得到了 401。当然,我一次又一次地尝试得到 401。

据我所知,我最终可能会选择基于 SSL 的 BASIC 身份验证,因为 ant 无法进行摘要操作。

但有办法做到这一点吗?


我用 Tomcat 8.0.32 尝试了 KiaMorot 的答案,但没有成功。当我在生成摘要密码时添加选项“-s 0”(盐长度为零)时,它确实起作用了:

sudo /opt/apache-tomcat-8.0.32/bin/digest.sh -s 0 -a MD5 '开发人员:UserDatabase:我的明文密码'

在我的命令的引用中,我省略了我的明文密码,并将其替换为字符串“我的明文密码”。请保留单引号,否则 shell 将解释密码中的特殊字符。

您可以检查省略 -s 选项是否是您的问题,如下所示。如果我多次执行digest.sh命令而不使用-s选项,尽管每次重复的命令行是相同的,但我会得到不同的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tomcat Digest 与 Manager WebApp 的相关文章

随机推荐