[SPRING] 405 POST에 허용되지 않는 메소드
SPRING405 POST에 허용되지 않는 메소드
매우 간단한 스프링 부팅 응용 프로그램이 있으며 다음 코드로 보안됩니다.
http.authorizeRequests()
.antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')")
.and()
.formLogin().loginPage("/login").failureUrl("/login?error")
.usernameParameter("username").passwordParameter("password")
.and()
.logout().logoutSuccessUrl("/login?logout")
.and()
.exceptionHandling().accessDeniedPage("/403");
아이디어는 "admin"부분을 확보하는 것입니다. 그것은 REST API를 노출합니다. 문제는 모든 POSTS가 반환하는 것입니다.
응용 프로그램에서 보안 초보를 제거하면 작동합니다. 보안 구성이 문제라고 생각합니다. 그러나 나는 어떻게 발견 할 수 없다.
해결법
-
==============================
1.이것은 쉬워야합니다.
이것은 쉬워야합니다.
CSRF가 활성화되어 있으면 POST 및 PUT 요청이 허용되지 않고 스프링 부팅은 기본적으로 활성화됩니다.
구성 코드에 다음을 추가하십시오.
.csrf().disable()
그건 :
http. .csrf().disable(). authorizeRequests() .antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')") .and() .formLogin().loginPage("/login").failureUrl("/login?error") .usernameParameter("username").passwordParameter("password") .and() .logout().logoutSuccessUrl("/login?logout") .and() .exceptionHandling().accessDeniedPage("/403");
CSRF를 활성화해야하는 경우 docs를 참조하십시오.
http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#csrf-configure
-
==============================
2.이는 Spring Security SAML 확장을 사용하고 SAMLUserDetailsService가 UsernameNotFoundException을 반환하는 경우에도 발생할 수 있습니다. 꽤 반 직관적 인 것 같지만, 그것이 내 경험상 기본적으로하는 것입니다.
이는 Spring Security SAML 확장을 사용하고 SAMLUserDetailsService가 UsernameNotFoundException을 반환하는 경우에도 발생할 수 있습니다. 꽤 반 직관적 인 것 같지만, 그것이 내 경험상 기본적으로하는 것입니다.
from https://stackoverflow.com/questions/33699724/405-method-not-allowed-for-post by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 허용되는 최대 크기와 관련된 Tomcat으로 파일 업로드하기 (0) | 2019.05.11 |
---|---|
[SPRING] Spring과 Maven을 사용할 때 코드를 서버에 배포하는 가장 좋은 방법은 무엇입니까? (0) | 2019.05.11 |
[SPRING] spring-data-redis redisTemplate 예외 (0) | 2019.05.11 |
[SPRING] Google App Engine에서 봄 보안 구현 (0) | 2019.05.11 |
[SPRING] Spring 프로파일을 패키지로 설정하는 방법은? (0) | 2019.05.11 |