我想在 tomcat-users.xml 中使用带有 BASIC 身份验证的散列密码。我在领域定义中添加了 digest="SHA"。UserDatabase 部分在 $TOMCAT_HOME/conf/server.xml 中定义如下:
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
...
<Engine>
...
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
digest="SHA"
resourceName="UserDatabase" />
...
</Engine>
但重启后,tomcat 仍将 $TOMCAT_HOME/conf/tomcat-users.xml 密码中定义的所有密码视为纯文本密码。
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<user username="guest" password="e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4" roles="role1" />
</tomcat-users>
即,我可以使用用户名/密码 guest/e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4 登录,但不能使用应有的 guest/secret 登录。
请指出我做错了什么?