我正准备用[Authorize]
在通过 Ajax 返回部分 View 的操作上;但我没有得到我想要的行为(尽管这是我期望的行为)。
这似乎是一个远景。但是,有什么方法可以扩展此属性以“中断”AJAX 调用并将整个页面重定向到登录屏幕? (与将登录屏幕返回到我设置的 UpdateTargetId 的任何位置相反?)
我想我知道如何在每个特定的 Ajax 调用上执行此操作,但是如果我能以某种方式集中它,它将节省大量代码......
最佳答案
AuthorizeAttribute 不会为您执行此操作,但您可以集中您的代码。创建一个新属性,当当前没有用户登录时返回 http 状态代码 401(未授权)。在您的 site.master 引用的 JavaScript 文件中,处理 jQuery $.ajaxError 事件。在响应状态代码中查找 http 401 并通过 JavaScript 重定向到您的登录页面。现在,如果当前用户未经授权,您通过 jQuery 进行的任何 Ajax 调用都将在此处结束。
关于asp.net-mvc - 我怎样才能最好地将 [Authorize] 属性用于 Ajax 和局部 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/743252/