У меня в приложении Grails 3.0.3 довольно простая конфигурация безопасности:
@Configuration
@EnableWebSecurity
class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers('/admin/**').hasAnyRole('ADMIN')
.antMatchers('/**').hasAnyRole('USER', 'ADMIN')
//.antMatchers('/').permitAll()
.and()
.formLogin().permitAll()
.and()
.logout().permitAll()
http.headers().frameOptions().disable()
http.csrf().disable()
}
У меня также есть несколько классов DomainClasses, которые используют аннотацию @Resource
@Resource(uri="/myresource",formats=['json'])
Когда отключаю аутентификацию для пути / ** - все работает нормально. Но когда я оставляю аутентификацию для / ** включенной, поэтому включая / myresource, он больше не принимает запросы POST. Он возвращает 405 недопустимый метод. Как разрешить запросы POST с помощью HttpSecurity в Grails 3?
ОБНОВЛЕНИЕ 1: запросы GET разрешены для аутентифицированных пользователей