2010-06-30 3 views
0

Grails를 1.3.1 봄 보안 코어 0.4 의 jQuery 1.4.x를 내가 아약스 요청에 대한 보안 권한을 확인하는 방법을 알아낼 필요가검사 권한은

를 요청합니다. 예를 들어, FullCalendar jQuery 플러그인을 사용하여 탭에 달력을 표시했습니다. 하루 두 번 클릭하면 새 탭에 새 이벤트 화면이 표시됩니다. 이것은과 같이 수행됩니다

$(tabId).load(contextPath + '/event/create', {tabId:tabId}, function() { 
    setupEvent(tabId, date, now); 
}); 

그래서 지금, 올바른 사용 권한이없는 새로운 이벤트를 만들려고하는 사용자는 새 탭이 권한 거부 메시지를 표시합니다. 차라리 새 탭을 표시하지 않고 오류 메시지가있는 대화 상자를 표시하는 것을 선호합니다. 누구든지이 문제를 해결하는 방법에 대한 멋진 아이디어가 있습니까?

답변

1

jQuery.load 함수에서 jQuery.ajax로 업그레이드해야합니다. 컨트롤러 동작이 인증되지 않은 상태 코드 401을 반환 할 수 있습니다. 그때 jQuery.ajax 오류가 호출 될 것이라고 생각하고 적절하게 응답 할 수 있습니다.

$.ajax({ 
    url: contextPath + '/event/create', 
    data: {tabId:tabId}, 
    success: function(data) { 
    $j(tabId).html(data); 
    setupEvent(tabId, date, now); 
    }, 
    error: function(xhr, textStatus) { 
    if (xhr.status == 401) { 
     alert("Unauthorized."); 
    } 
    } 
}); 
+0

네는 나에게 좋은 계획처럼 보인다. 나는 약간의 시험을하고 보고서를 다시 할 것이다 ... – Gregg

+0

챔피언처럼 일했다. 감사. – Gregg

관련 문제