У меня есть сервер авторизации и ресурсов, которые работают в одном приложении. Настройка работает нормально с пружинным ботинком 1.2.6.RELEASE и пружинной защитой oauth2 2.0.7.RELEASE. После обновления весенней загрузки 1.3.0.RELEASE (независимо от того, была ли пружинная защита oauth2 2.0.7.RELEASE или 2.0.8.RELEASE) /login конечная точка для ОТЧЕТ ОШИБКИ. Я получил ответ 405 «Метод не разрешен».405: Метод не разрешен после обновления Spring Boot 1.3.0
Я провел целый день без успеха. Я также настраиваю дополнительный, простой сервер авторизации и ресурсов, который работает в одном приложении. Однако эта легкая установка имеет ту же проблему. Как только я включаю сервер ресурсов, конечная точка входа больше не работает.
Ниже приведены фрагменты конфигурации моего исходного сервера.
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
// ... some code
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.csrf()
.requireCsrfProtectionMatcher(new AntPathRequestMatcher("/oauth/authorize"))
.disable()
.logout()
.logoutUrl(logoutUrl)
.logoutSuccessHandler(logoutSuccessHandler)
.invalidateHttpSession(true)
.and()
.formLogin()
.permitAll()
.loginProcessingUrl(loginProcessingUrl)
.failureUrl(loginAuthenticationFailureUrl)
.loginPage(loginPage);
}
}
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
// ... some code
private static final String RESOURCE_SERVER_MAPPING_REGEX = "^(?!(\\/?login|\\/?logout|\\/?oauth)).*$";
// ...some code
@Override
public void configure(HttpSecurity http) throws Exception {
http
// Configure the endpoints wherefore the resource server is responsible or rather should bound to.
.requestMatchers().regexMatchers(RESOURCE_SERVER_MAPPING_REGEX)
.and()
.authorizeRequests().anyRequest().permitAll()
.and()
.headers().frameOptions().disable();
}
}
Вы имеете в виду, даже для resourceserverconfig? Как в выше него нет, что .. –
Извините за причиненные путаницы. Вы правы, конфигурация ResourceServer не содержит конфигурацию. Однако я пробовал это без успеха. Я не уверен в этом порядке или, скорее, в использовании нескольких конфигураций HttpSecurity. Может быть, для CSRF не имеет значения, в какой объект HttpSecurity он настроен. – GeBeater