Запрос на получение не авторизован, когда CSRF отключен в Spring Security - PullRequest
0 голосов
/ 07 октября 2018

Обычная аутентификация Spring Security работает, если я не добавляю следующее

@Configuration
@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
    }
}

После того, как я добавлю этот фрагмент кода, запрос GET без заголовка авторизации получает ответ, в то время как я ожидаю ответ, говорящий «Несанкционированный».Перед добавлением этой конфигурации GET-ответ получает 401.

Единственное изменение - вышеуказанный класс;больше ничего не изменилось.

1 Ответ

0 голосов
/ 08 октября 2018

Попробуйте добавить .anyRequest().authenticated(), значит, все запросы должны быть аутентифицированы.Если вы хотите добавить исключение, добавьте что-то вроде .antMatchers(HttpMethod.GET, "/", "/js/**", "/css/*", "/images/**").permitAll(), это не будет аутентифицировано.

Пример кода:

@Configuration
@EnableWebSecurity
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable().authorizeRequests()
            .antMatchers(HttpMethod.GET, "/", "/js/**", "/css/*", "/images/**").permitAll()
            .anyRequest().authenticated();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...