Я настроил Spring Security для своего REST API (с HeaderHttpSessionStrategy).
Моя реализация WebSecurityConfigurerAdapter выглядит следующим образом.
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.antMatchers("/user/**").authenticated()
.antMatchers("/**").permitAll()
.and()
.requestCache()
.requestCache(new NullRequestCache())
.and()
.httpBasic()
;
}
Теперь, как я могу настроить объект HttpSecurity, чтобы обычная проверка подлинности была возможна только с определенной конечной точкой.
Например:
/ user / login: обычная аутентификация должна быть возможна только на этой конечной точке. После успешной аутентификации возвращается заголовок x-auth-token.
/ user / create: клиент не должен иметь возможность аутентифицироваться на этой конечной точке. Должен возвращать только 401. Доступ к нему возможен только с помощью 'x-auth-token', созданного с помощью конечной точки / user / login.