Tomcat 8 - 数据库领域配置
Posted
技术标签:
【中文标题】Tomcat 8 - 数据库领域配置【英文标题】:Tomcat 8 - Database realm configuration 【发布时间】:2016-10-17 03:44:28 【问题描述】:我已将 tomcat 7 服务器配置为在数据库领域配置中使用 MD5 摘要。 它工作得很好。 现在我需要将我的服务器升级到 tomcat 8。 但它会为我在数据库中的密码生成不同的哈希值。 如何配置它以生成相同的旧值? 我已经将 jdbc 驱动程序 jar 复制到了 tomcat 8 的 lib 文件夹中,并使 bin 中的所有 sh 文件都可以执行。
简单来说,我怎样才能使以下两个输出相等。 雄猫 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$
雄猫 8:
~/apache-tomcat-8.5.6/bin$ ./digest.sh -a MD5 test
test:27d6262696d98e0a8a973d43eef07c66c68b089a4ada21dd3ba0defc04ca302e$1$13a7c1932523dcea3bb39ef05b75b4c6
~/apache-tomcat-8.5.6/bin$
谢谢
【问题讨论】:
【参考方案1】:终于this解决了我的问题。
回答第一点,下面是我的context.xml中<Realm>
切换到Tomcat 8前后的对比:
之前:
<Realm className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/myDataSource"
roleNameCol="role" userCredCol="password" userNameCol="loginid"
digest="md5"
userRoleTable="userroles" userTable="users"
localDataSource="true" />
之后:
<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>
【讨论】:
这对我有用。我用它:以上是关于Tomcat 8 - 数据库领域配置的主要内容,如果未能解决你的问题,请参考以下文章
迁移到 Tomcat 8:InstanceAlreadyExistsException 数据源
Tomcat 8.5 JDBC领域,具有盐腌密码摘要:身份验证失败