2016-07-31 4 views

답변

0

왜 GET 만 허용하는 컨트롤러 메소드가 없습니까? 다른 HTTP 메소드는 자동으로 거부됩니다.

@Controller 
@RequestMapping("/releaseupdates") 
public class ReleaseUpdateController { 

    @RequestMapping(method=RequestMethod.GET) 
    public String getRequest() { 
     //do something, only accepts GET 
    } 


} 

만 특정 사용자/역할에, 당신이 유사한 방식으로 그 세밀한 설정을 구성 할 수 있지만 다른 방법을 허용 할 경우 https://www.mkyong.com/spring-security/spring-security-custom-login-form-annotation-example/

1

봄 요격 URL을하는 방법을 제공한다 매개 변수에서 다운 크기는 단일 메소드 만 지정할 수 있도록 허용합니다.
당신은

<http auto-config="true" use-expressions="true" > 
    <intercept-url pattern="/login " access="permitAll" /> 

    <intercept-url pattern="/**" access=" hasRole('ROLE_ADMIN')" method="GET" /> 
    <intercept-url pattern="/**" access=" hasRole('ROLE_ADMIN')" method="POST" /> 
</http> 

다른 대안은, 예를 들어 자신의 스프링 보안 식을 작성하는 것입니다 같은 패턴에 대한 몇 요격 - URL 항목을 명시 할하여이를 극복 할 수있다 isPermitedMethod 다음은 blog입니다.

은 참조 :
Using Spring Security, how can I use HTTP methods (e.g. GET, PUT, POST) to distingush security for particular URL patterns?

+0

영업 이익이 방법을 사용하지 않으려면,'사용하기 충분하다 <차단 - URL 패턴을 = "/ **"액세스 = "denyAll"/>' –