2010-06-30 136 views
0

的Grails 1.3.1 彈簧安全核0.4 的jQuery的1.4.x檢查權限請求

我需要弄清楚如何檢查Ajax請求的安全權限。例如,我使用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 2010-07-01 01:04:40

+0

像冠軍一樣工作。謝謝。 – Gregg 2010-07-01 16:02:31