在 tomcat 中是不是存在对接受盐的 JDBCRealm 的支持?
Posted
技术标签:
【中文标题】在 tomcat 中是不是存在对接受盐的 JDBCRealm 的支持?【英文标题】:Is there existing support in tomcat for a JDBCRealm that takes in a salt?在 tomcat 中是否存在对接受盐的 JDBCRealm 的支持? 【发布时间】:2011-09-10 20:52:36 【问题描述】:我们目前使用的是 tomcat 5.5,并希望在我们的 JDBCRealm 身份验证中添加盐。我想知道是否有任何现有的类,或者我们是否需要扩展 JDBCRealm 并编写我们自己的身份验证类?
我们的 server.xml 中有以下内容
<Realm className="org.apache.catalina.realm.JDBCRealm" ...more stuff… />
但是这个类看起来不像是盐。
【问题讨论】:
【参考方案1】:-
编写您自己的
JDBCRealmWithSalt
类来扩展 JDBCRealm
类
覆盖digest()
方法(在此处添加盐)
将JDBCRealmWithSalt
放入catalina.jar:org/apache/catalina/realm
<Realm className="org.apache.catalina.realm.JDBCRealmWithSalt"...>
【讨论】:
【参考方案2】:Tomcat 5.5 API 中没有内置类,因此您必须使用自定义类。
一个例子可以在http://eneuwirt.de/2011/05/01/saltawarejdbcrealm/找到
【讨论】:
Tomcat 7 可能有一些开箱即用的东西,如 ***.com/questions/8053552/… 遗憾的是,eneuwirt.de 现在已经消失了。 但是代码lives on.【参考方案3】:从 Tomcat 8 开始,您可以指定任何开箱即用的 Realm:
所需的算法 要使用的编码 盐 迭代次数 密钥长度您可以在CATALINA_HOME/bin/digest.[bat|sh]
中提供这些信息
欲了解更多信息:https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html
【讨论】:
以上是关于在 tomcat 中是不是存在对接受盐的 JDBCRealm 的支持?的主要内容,如果未能解决你的问题,请参考以下文章