2010-06-30 123 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