2016-05-12 3 views
1

Я реализовал аутентификацию 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 за сценой, я не уверен, как получить учетные данные пользователя от первого входа и как отправить токен в качестве ответа на логин. Должен ли я вводить специальный обработчик успеха проверки подлинности в фильтр входа в форму для создания токена на основе учетных данных пользователя? Если да, то как именно это можно сделать?

ответ

Смежные вопросы