Как пройти аутентификацию с помощью TestRestTemplate - PullRequest
0 голосов
/ 31 мая 2018

Допустим, у нас есть следующий фрагмент конфигурации веб-безопасности:

http
    .and().formLogin()
      .loginProcessingUrl("/api/authentication")
      .successHandler(authenticationSuccessHandler)
      .failureHandler(authenticationFailureHandler)
      .usernameParameter("j_username")
      .passwordParameter("j_password")
      .permitAll()

Как мне пройти процесс аутентификации с использованием TestRestTemplate в моих интеграционных тестах?

1 Ответ

0 голосов
/ 31 мая 2018

TestRestTemplate предоставляет метод с именем withBasicAuth(), поэтому вы можете использовать как

testRestTemplate.withBasicAuth(
  "user", "passwd").getForEntity(YOUR_URL, String.class)

Если вы используете более старую версию, вы можете попробовать что-то вроде этого

HttpHeaders headers = new HttpHeaders();
String auth = "userid" + ":" + "password";
byte[] encodedAuth = Base64.encode(auth.getBytes(Charset.forName("US-ASCII")));
String authHeader = "Basic " + new String( encodedAuth );
headers.set("Authorization", authHeader );

таким образом вы сами генерируете заголовки аутентификации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...