2011-06-08 180 views
7

我们目前使用的是tomcat 5.5,并希望为我们的JDBCRealm身份验证添加一个salt。我想知道是否有任何现有的类,或者我们是否需要扩展JDBCRealm并编写我们自己的认证类?在tomcat中是否存在支持salt的JDBCRealm的支持?

我们已经在我们的server.xml

<Realm className="org.apache.catalina.realm.JDBCRealm" ...more stuff… /> 

以下但它并不像这类发生在盐。

回答

3
  1. 写扩展JDBCRealm
  2. 覆盖digest()方法自己JDBCRealmWithSalt类中找到(在这里添加您的盐)
  3. JDBCRealmWithSaltcatalina.jar:org/apache/catalina/realm
  4. <Realm className="org.apache.catalina.realm.JDBCRealmWithSalt"...>
1

没有像Tomcat 5.5 API内置的现有类,所以您将不得不使用自定义类。

一个例子可以在http://eneuwirt.de/2011/05/01/saltawarejdbcrealm/

+1

的Tomcat 7可能有一些现成的按http://stackoverflow.com/questions/8053552/tomcat-7-11-jdbcrealm-and-userdatabaserealm-dont-work-一起 – rbeede 2012-01-24 02:53:49

+0

不幸的是,eneuwirt.de现在不在了。 – 2014-03-07 06:44:16

+0

但代码[生活在](https://github.com/eneuwirt/fbs/blob/master/fbs-security/src/main/java/com/fbs/security/shiro/realm/SaltAwareJdbcRealm.java)。 – 2015-03-27 09:09:02