小编典典

如何最好地将[Authorize]属性与Ajax和部分视图一起使用?

ajax

我正要用于[Authorize]通过Ajax返回部分视图的Action;但我没有得到想要的行为(尽管它是我期望的行为)。

似乎是一个远景;但是,是否有任何方法可以扩展此属性以“爆发”
AJAX调用并将整个页面重定向到登录屏幕?(而不是将登录屏幕返回到我设置了UpdateTargetId的任何位置?)

我想我对如何在每个特定的Ajax调用中做到这一点有所了解,但是如果我可以以某种方式进行集中化,则可以节省很多代码…


阅读 248

收藏
2020-07-26

共1个答案

小编典典

AuthorizeAttribute不会为您执行此操作,但是您可以集中代码。创建一个新属性,当当前没有用户登录时,该属性返回http状态代码401(未授权)。在您的site.master引用的JavaScript文件中,处理jQuery
$ .ajaxError事件。在响应状态代码中查找http
401,然后通过JavaScript重定向到您的登录页面。现在,如果当前用户未被授权,则您通过jQuery进行的任何Ajax调用都将在此处结束。

2020-07-26