我们目前正在使用tomcat 5.5,并希望为我们的JDBCRealm身份验证添加一个salt。我想知道是否有任何现有的类,或者我们是否需要扩展JDBCRealm并编写自己的身份验证类?
我们的server.xml 中有以下内容
<Realm className="org.apache.catalina.realm.JDBCRealm" ...more stuff… />
但这类课程看起来并没有太大的争议。
- 编写自己的扩展
JDBCRealm
类的JDBCRealmWithSalt
类 - 覆盖
digest()
方法(在此处添加盐) - 将
JDBCRealmWithSalt
放入catalina.jar:org/apache/catalina/realm
<Realm className="org.apache.catalina.realm.JDBCRealmWithSalt"...>
Tomcat 5.5 API中没有内置的现有类,因此您必须使用自定义类。
一个例子可以在http://eneuwirt.de/2011/05/01/saltawarejdbcrealm/
对于任何开箱即用的Realm,从Tomcat 8开始,您可以指定:
- 所需的算法
- 要使用的编码
- 盐
- 迭代次数
- 密钥长度
您可以在CATALINA_HOME/bin/digest.[bat|sh]
中提供这些
有关详细信息:https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html