有無配置(的applicationContext-security.xml文件):春季安全:DB和密碼的applicationContext編碼
<authentication-manager alias="authenticationManager">
<authentication-provider>
<password-encoder hash="sha"/>
<jdbc-user-service data-source-ref="dataSource"/>
</authentication-provider>
</authentication-manager>
從對方從我dataSource
(這是JdbcDaoImpl)SQLS:
...
public static final String DEF_USERS_BY_USERNAME_QUERY =
"select username,password,enabled " +
"from users " +
"where username = ?";
...
在此代碼中現在有關於sha
的字,因此從標準Spring Security users
表中選擇的密碼未經過編碼。
也許,我應該爲password
列一些sha
屬性在我的Hibernate映射配置此處
<class name="model.UserDetails" table="users">
<id name="id">
<generator class="increment"/>
</id>
<property name="username" column="username"/>
<property name="password" column="password"/>
<property name="enabled" column="enabled"/>
<property name="mail" column="mail"/>
<property name="city" column="city"/>
<property name="confirmed" column="confirmed"/>
<property name="confirmationCode" column="confirmation_code"/>
<set name="authorities" cascade="all" inverse="true">
<key column="id" not-null="true"/>
<one-to-many class="model.Authority"/>
</set>
</class>
現在保存到數據庫爲有密碼,但應該進行編碼。
如何將朋友applicationContext
config和DB查詢的密碼編碼相同?
是的,我知道這樣做只是一個提示,但你沒有對我的問題問如何提供,用戶密碼保存的編碼,以DB – sergionni 2011-12-15 18:02:34
好吧,我不知道知道你提供的意思,但要堅持,我已經使用[DigestUtils](http://commons.apache.org/codec/apidocs/org/apache/commons/codec/digest/DigestUtils.html)。 – falsarella 2011-12-15 18:09:38