Spring mvc 405 - 403 ошибки
Что делать? Использую Spring mvc+Spring Security (non-boot) - если csrf отключить, то не отдает html ресурсы под ошибкой 405, если включить - под ошибкой 403. Я не собираюсь реализовывать этот протокол, как мне его обойти? Моя конфигурация:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
private final JwtTokenProvider provider;
@Autowired
public SecurityConfig(JwtTokenProvider provider) {
this.provider = provider;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.httpBasic().disable()
.csrf().disable() // <------------ Вот она
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.antMatchers("/hello", "/login", "/register").permitAll()
.antMatchers("/user").hasAnyRole("USER", "ADMIN")
.antMatchers("/admin").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.apply(new JwtConfigurer(provider));
}
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
}
Если конкретнее, не проходит логин юзера метод POST (об ошибке 405 - мол, его типа нету) - но вот он, на месте:
// @PostMapping("/login")
// public ResponseEntity<Map<String, String>> login(@RequestBody AuthRequestDto dto) {
// try {
// String username = dto.getUsername();
// String password= dto.getPassword();
// authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(username, password));
// User user = userService.findUserByUsername(username);
//
// if (user == null) {
// throw new UsernameNotFoundException("User with username: " + username + " not found");
// }
//
// String token = provider.createToken(username, user.getRoles());
//
// Map<String, String> response = Map.of(
// "username", username,
// "token", token
// );
//
// return ResponseEntity.ok(response);
// } catch (AuthenticationException e) {
// throw new BadCredentialsException("Invalid username or password!");
// }
// }