Я реализовал аутентификацию LDAP с помощью Spring boot и Spring Security. Конфигурация довольно проста.Как создать токен с аутентификацией LDAP в Spring Security
@Configuration
protected static class AuthenticationConfiguration extends
GlobalAuthenticationConfigurerAdapter {
@Override
public void init(AuthenticationManagerBuilder auth) throws Exception {
DefaultSpringSecurityContextSource contextSource = new DefaultSpringSecurityContextSource(url);
contextSource.setUserDn(userDn);
contextSource.setPassword(userPass);
contextSource.setReferral("follow");
contextSource.afterPropertiesSet();
LdapAuthenticationProviderConfigurer<AuthenticationManagerBuilder> ldapAuthenticationProviderConfigurer = auth.ldapAuthentication();
ldapAuthenticationProviderConfigurer
.userDnPatterns("cn={0},ou=institution,ou=people")
.userSearchBase("")
.contextSource(contextSource);
}
}
Теперь я хочу создать проверку подлинности маркера на основе, так что после первого успешного входа в систему, сервер может просто проверить запросы на Проверка наличия заголовка запроса с маркером, созданного на сервере.
Поскольку аутентификация LDAP выполняется с помощью ldapAuthentiationProvider за сценой, я не уверен, как получить учетные данные пользователя от первого входа и как отправить токен в качестве ответа на логин. Должен ли я вводить специальный обработчик успеха проверки подлинности в фильтр входа в форму для создания токена на основе учетных данных пользователя? Если да, то как именно это можно сделать?