在我的安全中引用特定的密码编码器-config.xml

Reference a specific password-encoder in my security-config.xml

我正在使用 spring 安全登录授权。 在我的安全中-config.xml 我正在使用以下代码:

  <authentication-manager>
      <authentication-provider>
       <password-encoder hash="md5"/>
       <jdbc-user-service data-source-ref="dataSource" users-by-
           username-query="SELECT username, password,1 as enabled
           FROM users WHERE username=?" authorities-by-
           username-query="SELECT username, authority,1 as enabled 
           FROM users  WHERE username =?" />
      </authentication-provider>
  </authentication-manager>

但在我的数据库中,我已经使用非纯 md5 哈希的自定义函数获得了加密密码。 我的问题是我可以从我的安全 - config.xml 而不是

调用这个函数吗
<password-encoder hash="md5"/>

或者还有其他方法吗?

提前致谢。

您可以注册您的自定义密码编码器(创建一个实现 PasswordEncoder 的 class),它将调用您的自定义函数。

在您的 XML 中,更改:

<password-encoder hash="md5"/>

与 :

<password-encoder ref="passwordEncoder">   

which passwordEncoder 是您的 class/bean 实施 PasswordEncoder.

的名称

更多详情here or here