Мы используем Spring Security в нашем веб-приложении на основе Spring MVC.
Мы выполняем аутентификацию, используя модуль безопасности Spring LDAP, который работает правильно.Теперь мне нужно получить пароль пользователя из LDAP для сохранения в базе данных.
Для этого я использую это в своем коде.
public class PersonContextMapper implements UserDetailsContextMapper {
public UserDetails mapUserFromContext(DirContextOperations ctx, String username, Collection<GrantedAuthority> authorities) {
Person.Essence p = new Person.Essence(ctx);
p.setUsername(username);
p.setAuthorities(authorities);
Object passwordValue = ctx.getObjectAttribute("userPassword");
return p.createUserDetails();
}
public void mapUserToContext(UserDetails user, DirContextAdapter ctx) {
Assert.isInstanceOf(Person.class, user, "UserDetails must be a Person instance");
Person p = (Person) user;
p.populateContext(ctx);
}
}
Но я не получаю никакого значения для пароля.Всегда ноль.
Пожалуйста, помогите.
PS.Моя аутентификация прошла успешно.Это означает, что пароль, введенный в форму входа, соответствует паролю, хранящемуся в LDAP.