세션이 종료 된 후 응답하지 않는 UI를 수정하려고합니다. 로그인 페이지로 HTTP 302 리디렉션으로 인해 Ajax 요청이 실패합니다. Ajax 오류는 Could not find root <ajax-response> element
입니다.apache wicket에서 세션 시간이 초과되면 응답이없는 UI (실패한 ajax 호출)를 수정하는 방법은 무엇입니까?
Wicket.Event.subscribe('/ajax/call/failure', function(attrs, jqXHR, textStatus, jqEvent, errorThrown) {
handleAjaxCallFailure(attrs, jqXHR, textStatus, jqEvent, errorThrown);
});
을하지만 HTTP 응답, 응답 코드 또는 다른 HTTP 헤더를 얻을 수있는 합리적인 방법을 찾을 수 없습니다 :
나는 아약스 실패 이벤트에 가입했습니다. 나는 또한 시도했다 :
$(document).ajaxError(function (event, jqXHR, ajaxSettings, thrownError) {
handleAjaxError(event, jqXHR, ajaxSettings, thrownError);
});
그러나 이것은 전혀 발사되지 않는다. 아파치 개찰구 7.6.0을 사용하고 있습니다. 다른 방법으로 사용자를 로그인 페이지로 강제 전환 할 수 있습니까?
스프링 보안 필터가 세션이 유효하지 않아 브라우저가 빈 몸체로 HTTP 302를 받고 로그인 페이지를 가리키는 위치를 리디렉션하는 이유 때문에 개찰이 요청을받지 못한다고 생각합니다. – viliam
감사합니다. @ martin-g, wicket ajax 호출에 대한 사용자 지정 리디렉션 전략을 사용하여 LoginUrlAuthenticationEntryPoint의 사용자 지정 구현을 생각해 냈습니다. – viliam