0
답변은 나에게 합당하지 않다는 점을 제외하고는 여기에서와 똑같은 질문을합니다.스프링 보안 액세스 거부 처리기
는 나는이 만들어 그들의 대답에 말을했는지에 따라하려그러나
@RequestMapping("/invalidPermission")
public void invalidPermission(HttpServletRequest request) {
System.out.println(request.getServletPath());
}
을의 request.getServletPath()는 분명히 대신 원래 URL의/invalidPermission을 인쇄합니다 그들은 접근하려고 시도했다.
아이디어가 있으십니까?
감사합니다.
업데이트 : 여기가 핸들 사용자 정의 AccessDeniedHandler의() 메소드가 아닌 컨트롤러 액션을 사용하고 그 답에 작업 코드
<access-denied-handler ref="FooAccessDeniedHandler" />
<bean id="FooAccessDeniedHandler"
class="my.pkg.AccessDeniedExceptionHandler">
<property name="errorPage" value="/path-to/custom403.jsp" />
</bean>
package my.pkg.AccessDeniedExceptionHandler;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.web.access.AccessDeniedHandler;
public final class AccessDeniedExceptionHandler implements AccessDeniedHandler {
private String errorPage;
@Override
public void handle(final HttpServletRequest request, final HttpServletResponse response, final AccessDeniedException arg2) throws IOException, ServletException {
System.out.println(String.format("URL [%s] ", request.getServletPath()));
response.sendRedirect(getErrorPage());
}
public String getErrorPage() {
return errorPage;
}
public void setErrorPage(String errorPage) {
this.errorPage = errorPage;
}
}
감사합니다. – user973479