REST 서비스에 Spring Security 3.1 및 Spring 3.2를 사용하고 있습니다. 예를 들어 사용자가 일부 리소스에 액세스하려고하지만 아직 인증되지 않은 경우 모든 응답을 JSON으로 만들기 위해 고군분투하고 있습니다. 또한 사용자가 잘못된 요청을하면 오류 메시지와 함께 JSON을 반환하고 싶습니다.
모든 오류 / 예외를 포착해야하는 글로벌 위치를 갖는 것이 더 수용 가능하다는 것을 언급하기 만하면됩니다.
다른 모든 컨트롤러에 의해 확장 된 컨트롤러 클래스를 작성하고 (또는 3.2를 사용하는 경우 @ControllerAdvice 사용) 해당 클래스에 예외 처리기 주석이 달린 메서드를 포함하지 않는 이유는 무엇입니까? 이 같은
@ExceptionHandler(Throwable.class)
public @ResponseBody GenericResponse handleException(Throwable throwable){
//handle exception
}
또는이 블로그 게시물 읽기
최신 정보
답장이 늦어 죄송합니다. 여기 내 제안이 있습니다. 403 응답으로 단순히 실패하게 만드십시오. 이를 위해 스프링 보안 구성에 다음 스 니펫을 추가하십시오.
<beans:bean id="entryPoint"
class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint" />
이 빈에 대한 진입 점 참조 지점
<http auto-config="true" use-expressions="true" entry-point-ref="entryPoint">
그리고 클라이언트 측의 AJAX 코드에서 오류 블록을 추가하십시오.
error : function( jqXHR, textStatus, errorThrown ){
if (jqXHR.status == 403){
alert('you need to login to do this operation');
window.location.href = contextPath+"/signin";
// or whatever you want to
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다