我在Web应用程序中使用的是tomcat 9.0.4。使用DataSourceRealm对用户进行身份验证存在安全约束。它的工作正常,但我不想保存纯文本密码。
我的计划是将SHA-512与盐一起使用。我想我必须在server.xml中配置它:
<Realm className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/database"
userTable="USERS"
userNameCol="username"
userCredCol="password"
userRoleTable="USERS"
roleNameCol="role"
digest="SHA-512"
localDataSource="true"/>
<CredentialHandler
className="org.apache.catalina.realm.MessageDigestCredentialHandler" algorithm="SHA-512" />
</Realm>
此配置运行时没有任何错误/警告,但不起作用: 使用存储在数据库中的纯文本密码,身份验证仍然有效。
我找到了these文档,但只告诉我如何生成哈希密码。