Я получаю приведенную ниже ошибку при использовании BCryptPasswordEncoder в CAS 4.2 (Центральная служба аутентификации).:
java.lang.IllegalStateException: не удалось преобразовать значение типа [org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder] в требуемый тип [org.jasig.cas.authentication.handler.PasswordEncoder] для свойства 'passwordEncoder найдено подходящих редакторов или стратегия конверсии
Я добавил все зависимости в Maven. Я также проверил документы CAS, но нет правильной информации о том, как настроить BCryptPasswordEncoder с CAS.
deployerconfigcontext.xml (Maven для компиляции):
<bean id="primaryAuthenticationHandler"
class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"
p:dataSource-ref="dataSource"
p:passwordEncoder-ref="passwordEncoder"
p:sql="select PASSWORD from SD_AD_DAT_LOGIN where ACCESS_NAME=?" />
<bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
Я подключил CAS к базе данных Oracle, и он правильно проверил пароль в виде простого текста. Теперь я хочу использовать кодирование пароля bcrypt и сохранить пароль кодирования в базе данных, чтобы CAS должен был подтвердить пароль кодирования.
Помогите мне понять использование BCryptPasswordEncoder с CAS.