如何在客户端检查用户是否授权使用Jquery?

时间:2012-07-04 10:15:52

标签: asp.net-mvc-3 jquery-ui-tabs form-authentication

我正在为asp.net MVC3 Razor视图工作。我创建的是根据每个左键菜单点击动态加载标签。

我的jquery:

var form = $("ul#autotab li").click(function () {

                $tabs = $("#tabs").tabs({
                    tabTemplate: "<li id='" + tab_title + "'><a href='#{href}'>#{label}</a> <span class='ui-icon1 ui-icon-close'>x</span></li>",
                    add: $.ajax({
                        type: "GET",
                        url:'/Product/GetDetailsForTab/',
                        success: function (result) {
                            $("#tabs" + counter).html(result);
                        }
                    })
                });
                $tabs.tabs("add", "#tabs" + tab_counter, tab_title);
            }

如果我单击左侧菜单中的一个,我想检查jquery选项卡中是否有用户授权。如果用户未授权,则表示应重定向默认登录页面。我已经在'/Product/GetDetailsForTab/' ActionResult。

中设置了Authorize属性

以上代码正常运行,但问题是, 如果没有授权,它将重定向具有标签内容的登录页面。在这里,我需要在新窗口中重定向页面而不是标签内容区域。

谢谢,

1 个答案:

答案 0 :(得分:2)

你可以看一下Phil Haack的following blog post。在其中,他演示了一个很好的解决方案,它允许您在AJAX请求的情况下阻止表单身份验证模块重定向到LogOn页面,但是返回一个真实的401状态代码,您可以在客户端脚本中拦截并采取相应的行动。