2014-07-17 3 views
0

SPRING 프레임 워크를 처음 사용했습니다. 나는 봄 보안을 배우고있다. 잘못된 사용자 로그인 경우 AccessDeniedException 잡으려고했습니다.보안없이 작동하는 방법 : access-denied-handler

나는 denied.jsp 페이지를 만들어 내가 서버를 실행할 때 내 보안의 context.xml에, 내의 ErrorHandler에서

<security:intercept-url pattern="/denied" access="permitAll"/> 

, 난,

@ControllerAdvice 
public class ErrorHandler { 
    @ExceptionHandler(AccessDeniedException.class) 
    public String DeniedExceptionHandler(){ 
     return "denied"; 
    } 

} 

이제이 예외를 처리하고 잘못 사용자 로그인은 denied.jsp를 보여줍니다.

모든 것이 잘 작동하지만, Spring이 어떤 페이지가 나타나지 않는지 어떻게 알 수 있습니까? 나는 내가 그것을 잘 작동 왜

<security:access-denied-handler error-page="/denied" /> ? 

를 제공 하지 오전 의미?

는 귀하의 회신

답변

0

당신이 컨트롤러의 방법으로 문자열을 반환 할 때 컨트롤러는 항상 뷰 이름을 반환합니다 감사합니다.

당신이 denied 반환되는 문자열은이 사건에서 일하고 이유 denied.jsp

을 찾기 위해 뷰 리졸버를 알려줍니다.

관련 문제