Как я могу сохранить данные пользователя в базе данных после успешного входа в систему LDAP? - PullRequest
0 голосов
/ 11 июня 2019

Я работаю над приложением Spring Boot, и мне нужно сделать его безопасным, добавив аутентификацию LDAP. Процесс аутентификации, основанный на LDAPusername / password, работает, но мне трудно получить данные пользователя (имя пользователя, полное имя и т. Д.) После успешного входа в систему и сохранить их в базе данных.

1 Ответ

2 голосов
/ 19 июня 2019

Вы можете уверенно сохранить данные пользователя LDAP в БД. После успешной аутентификации вы можете вызвать свой пользовательский класс, примерно так:

import org.springframework.security.ldap.userdetails.LdapUserDetailsMapper;

@Service
public class LDAPUserDetailsMapper extends LdapUserDetailsMapper{}

Затем вы можете переопределить метод:

@Override
public UserDetails mapUserFromContext(DirContextOperations ctx, String username,
        Collection<? extends GrantedAuthority> authorities) {
/** your custom logic goes here. Here you can get the user details from ctx, 
and then use the information to store the data in db and then return the user details.**/
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...