У меня есть эта конечная точка отдыха:
@RestController
@RequestMapping("/data")
public class DataPagesController {
@GetMapping("/page")
public ResponseEntity<?> page() {
List<String> list = new ArrayList<>();
list.add("test 1");
list.add("test 2");
list.add("test 3");
list.add("test 4");
return new ResponseEntity<>(list, HttpStatus.OK);
}
}
Я настроил префикс контекстного пути в проект, используя:
server:
port: 8080
servlet:
context-path: /engine
Я хочу ограничить доступ, используя:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.httpBasic()
// Allow GET for dashboard page
.authorizeRequests().antMatchers(HttpMethod.GET, "/data/page").authenticated()
// Allow all requests by logged in users
.anyRequest().authenticated()
.and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
Но я получаю сообщение об ошибке:
GET http://localhost:8080/engine/data/page 401
Знаете ли вы, как правильно настроить разрешения конечной точки для запроса GET?
Одна из возможных идей:
Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS
19:12:37.834 [http-nio-8080-exec-8] DEBUG AffirmativeBased[decide:66] - Voter: org.springframework.security.web.access.expression.WebExpressionVoter@659a59ae, returned: -1
19:12:37.834 [http-nio-8080-exec-8] DEBUG ExceptionTranslationFilter[handleSpringSecurityException:180] - Access is denied (user is anonymous); redirecting to authentication entry point
Мне нужно удалить возможно .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);