2014-05-20 1 views
0

JavaConfig를 사용하고 XML을 사용하지 않고 Spring Security 3.2를 사용하여 REST 서비스의 특정 부분을 보호하려고합니다. 특히 나는 끝점에 대한 액세스를 POST 작업의 익명으로 제한하고 다른 모든 작업은 나머지 구성을 기본값으로 제한하려고합니다.JavaConfig에서 <intercept-url>의 메소드 속성과 동일한 기능은 무엇입니까?

나는 스프링 보안 API 문서와 참조 문서를 확인했지만, HTTP 메소드를 기반으로 액세스 검사를 제한하는 것과 같은 일은하지 않는다. 예를 들어, XML에 당신은 같은 것을 수행 할 수 있습니다

<intercept-url pattern="https://stackoverflow.com/users/**" method='POST' />

을하지만 난 JavaConfig 빌더 유사한 아무것도 볼 수 없습니다. XML없이 이것을 할 수 있습니까?

감사합니다.

수정 됨 5/20/2014 : 샘플 XML을 변경하여 HTTP 방식 만 표시합니다.

답변

0

는 다음과 같은 일을 할 수 있습니다

.antMatchers(HttpMethod.POST, "https://stackoverflow.com/users/**").access("hasRole('ROLE_ADMIN')") 
+0

정말 고마워요! 이것은 완전히 트릭을했습니다! –

+0

@InigoMontoya 환영합니다! – geoand

0

당신은 주석 @Secured를 사용할 수 있습니다. 자세한 내용은 스캔 할 수 있습니다 http://www.studytrails.com/frameworks/spring/spring-security-method-level.jsp

+0

좋은 기사입니다. 감사합니다! 그러나, 내가 틀렸다면 @Secured 주석은 특정 역할 검사를 수행하는 것입니다. 맞습니다. 아니면 메서드를 올바른 형식인지 여부를 확인하기 위해 자체 처리기를 작성할 수 있다고 말하는 것입니까? 이 예에서는 특정 역할을 확인하는 데 관심이 없지만 방법을 제한합니다. –

+0

http 메소드를 제한하고 싶습니까? 이 경우에도 스프링 보안이 필요하지 않습니다. 클래스 앞에 주석 @RequestMapping (value = "users", method = RequestMethod.POST)을 사용할 수 있습니다. – whjlou