Tomcat 8 - 数据库领域配置

Mal*_*ana 1 tomcat md5 jdbc

我已经配置tomcat 7服务器在数据库领域配置中使用MD5摘要.它工作正常.现在我需要将我的服务器升级到tomcat 8.但它会为我在数据库中的密码生成不同的哈希值.如何配置它以生成相同的旧值?我已经将jdbc驱动程序jar复制到tomcat 8中的lib文件夹,并使所有sh文件都在bin可执行文件中.

简单来说,如何使两个输出相等.雄猫7:

~/apache-tomcat-7.0.69/bin$ ./digest.sh -a MD5 test
Listening for transport dt_socket at address: 5005
test:098f6bcd4621d373cade4e832627b4f6
~/apache-tomcat-7.0.69/bin$
Run Code Online (Sandbox Code Playgroud)

雄猫8:

~/apache-tomcat-8.5.6/bin$ ./digest.sh -a MD5 test
test:27d6262696d98e0a8a973d43eef07c66c68b089a4ada21dd3ba0defc04ca302e$1$13a7c1932523dcea3bb39ef05b75b4c6
~/apache-tomcat-8.5.6/bin$ 
Run Code Online (Sandbox Code Playgroud)

谢谢

Mal*_*ana 6

最后解决了我的问题.

回答第一点,这里<Realm>是切换到Tomcat 8之前和之后的context.xml 的比较:

之前:

<Realm className="org.apache.catalina.realm.DataSourceRealm"
    dataSourceName="jdbc/myDataSource"  
    roleNameCol="role" userCredCol="password" userNameCol="loginid" 
    digest="md5" 
    userRoleTable="userroles" userTable="users" 
    localDataSource="true" />
Run Code Online (Sandbox Code Playgroud)

后:

<Realm className="org.apache.catalina.realm.DataSourceRealm"
    dataSourceName="jdbc/myDataSource" 
    roleNameCol="role" userCredCol="password" userNameCol="loginid"      
    userRoleTable="userroles" userTable="users" localDataSource="true">
    <CredentialHandler
    className="org.apache.catalina.realm.MessageDigestCredentialHandler"     
    algorithm="md5" />
</Realm>
Run Code Online (Sandbox Code Playgroud)