2011-06-08 181 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