Asp.net mvc 如何在Ajax和局部视图中最好地使用[Authorize]属性?
我正要对通过Ajax返回部分视图的操作使用Asp.net mvc 如何在Ajax和局部视图中最好地使用[Authorize]属性?,asp.net-mvc,ajax,asp.net-ajax,Asp.net Mvc,Ajax,Asp.net Ajax,我正要对通过Ajax返回部分视图的操作使用[Authorize];但是我没有得到我想要的行为(尽管这是我期望的行为) 这似乎是一个远大的希望;但是,有没有办法扩展这个属性以“中断”AJAX调用并将整个页面重定向到登录屏幕?(而不是将登录屏幕返回到我设置的UpdateTargetId的任何位置?) 我想我已经掌握了如何在每个特定的Ajax调用中执行此操作的方法,但是如果我能够以某种方式集中此操作,它将节省大量代码…AuthorizeAttribute不会为您执行此操作,但您可以集中您的代码。创建一
[Authorize]
;但是我没有得到我想要的行为(尽管这是我期望的行为)
这似乎是一个远大的希望;但是,有没有办法扩展这个属性以“中断”AJAX调用并将整个页面重定向到登录屏幕?(而不是将登录屏幕返回到我设置的UpdateTargetId的任何位置?)
我想我已经掌握了如何在每个特定的Ajax调用中执行此操作的方法,但是如果我能够以某种方式集中此操作,它将节省大量代码…AuthorizeAttribute不会为您执行此操作,但您可以集中您的代码。创建一个新属性,该属性在当前没有用户登录时返回http状态代码401(未授权)。在site.master引用的JavaScript文件中,处理jQuery$.ajaxError事件。在响应状态代码中查找http 401,并通过JavaScript重定向到您的登录页面。现在,如果当前用户未经授权,那么通过jQuery进行的任何Ajax调用都将在这里结束