У меня есть следующий websecurityconfig и я хочу разрешить кому-либо доступ к странице входа в систему, но когда я пытаюсь войти в систему, выдается неавторизованное исключение. Когда я пытаюсь отправить / пользователь / создать запрос, он работает очень хорошо и выполняет свою работу.
http.httpBasic().disable()
.csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.antMatchers("/actuator/**").hasAuthority(Role.ADMIN.toString())
.antMatchers("/").permitAll()
.antMatchers(HttpMethod.DELETE,"/user/remove").hasAnyAuthority(Role.ADMIN.toString(), Role.USER.toString())
.antMatchers(HttpMethod.PUT, "/user/create").permitAll()
.antMatchers(HttpMethod.POST, "**/login", "login", "/login").permitAll() // trying combinations of login path
.antMatchers("/admin/**").hasAuthority(Role.ADMIN.toString())
.and()
.apply(new JwtConfig(jwtTokenProvider));
Вот контроллер входа в систему. Я помещаю отладчик в обратную строку, и выполнение не приходит к этому моменту. Служба безопасности создает исключение.
@RestController
@RequestMapping // I also tried @RequestMapping({"","/"})
public class PublicController {
@Autowired
AuthenticationService authenticationService;
@PostMapping(value = "login", consumes = "application/json")
public GenericResponse login(@RequestBody UserLoginDTO userLoginDTO) {
return authenticationService.login(userLoginDTO); // never reached this line
}
}
Как я могу справиться с этим?