我正要用于[Authorize]通过Ajax返回部分视图的Action;但我没有得到想要的行为(尽管它是我期望的行为)。
[Authorize]
似乎是一个远景;但是,是否有任何方法可以扩展此属性以“爆发” AJAX调用并将整个页面重定向到登录屏幕?(而不是将登录屏幕返回到我设置了UpdateTargetId的任何位置?)
我想我对如何在每个特定的Ajax调用中做到这一点有所了解,但是如果我可以以某种方式进行集中化,则可以节省很多代码…
AuthorizeAttribute不会为您执行此操作,但是您可以集中代码。创建一个新属性,当当前没有用户登录时,该属性返回http状态代码401(未授权)。在您的site.master引用的JavaScript文件中,处理jQuery $ .ajaxError事件。在响应状态代码中查找http 401,然后通过JavaScript重定向到您的登录页面。现在,如果当前用户未被授权,则您通过jQuery进行的任何Ajax调用都将在此处结束。