Я начал изучать Spring Security и хочу использовать защиту на уровне метода.
У меня есть простой контроллер
@Controller
public class AppController {
@GetMapping("/")
@PermitAll
public String welcomePage() {
return "index";
}
@GetMapping("/user")
@RolesAllowed({Role.USER, Role.ADMIN})
public String userPage() {
return "user";
}
}
Конфигурация безопасности:
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(jsr250Enabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) throws Exception {
http
.formLogin().permitAll()
.and()
.anonymous()
.and()
.authorizeRequests().anyRequest().authenticated();
}
@Override
public void configure(AuthenticationManagerBuilder builder)
throws Exception {
builder.inMemoryAuthentication()
.withUser("user").password("user").roles("USER")
.and()
.withUser("admin").password("admin").roles("ADMIN");
}
}
Проблемаэта индексная страница требовала входа в систему с этим конфигом, но я установил @ PermitAll.
Не могли бы вы помочь.