我試圖將一個web項目轉換爲Spring。 我已經合併了Spring Security,但是舊項目使用SHA-1轉換爲十六進制字符串來加密用戶密碼。如何爲Spring Security添加自定義密碼編碼器?
我想知道如何才能製作自定義密碼編碼器,這將允許我指定我想要如何密碼加密。
我試圖將一個web項目轉換爲Spring。 我已經合併了Spring Security,但是舊項目使用SHA-1轉換爲十六進制字符串來加密用戶密碼。如何爲Spring Security添加自定義密碼編碼器?
我想知道如何才能製作自定義密碼編碼器,這將允許我指定我想要如何密碼加密。
當然,你也許並不需要一個自定義的編碼器,因爲它使用安全的命名空間配置<password-encoder>
是很容易的:
<password-encoder hash="sha" base64="true" />
把這一行到您的安全context.xml中,它會使用ShaPasswordEncoder
與啓用了SHA-1算法和BASE64編碼。
你可以直接使用這個。 構造函數的參數是SHA的強度編碼器
<beans:bean id="passwordEncoder"
class="org.springframework.security.authentication.encoding.ShaPasswordEncoder">
<beans:constructor-arg index="0" value="1" />
</beans:bean>
謝謝。在我的authentication-manager標籤中,我有''。我有bean '。但我不斷收到一個錯誤,說它找不到'org.springframework.security.encoding.ShaPasswordEncoder' –
Takkun
你使用的是什麼版本的Spring Security? – Xaerxess
spring-security-3.1 – Takkun