我有一个使用表单授权和 session 超时的 MVC2 应用程序。我在整个应用程序中使用 jquery ajax 调用来检索或提交数据(以部分 View 的形式)。
当 session 超时时,在发布到应用程序时,mvc2 返回一个重定向,提示浏览器检索我的登录页面,然后将其嵌入到当前页面中。这产生了一种嵌入到我当前 View 中的 View ,这显然是不可取的。我尝试实现其他帖子中提到的解决方案,其中概述了与此博客文章中类似的步骤:http://craftycodeblog.com/2010/05/15/asp-net-mvc-ajax-redirect/
但是,也许是因为我使用的是授权注释,例如:
[Authorize(Roles = "Patient, Staff, Provider, Administrator")]
我发现该解决方案似乎无效。有谁知道一种解决方案可以以与博客文章中概述的方式类似的方式改变我的 C# 响应(返回 document.location 重定向),该解决方案将适用于授权注释?
最佳答案
我实际上最终使用了此回复中描述的解决方案:
More control on ASP.Net MVC's Authorize; to keep AJAX requests AJAXy
不幸的是,大多数涉及该主题的帖子(包括由 Clicktricity 链接到的帖子)似乎都描述了解决方案,但示例代码很少,并且似乎倾向于修改 global.asax 中的部分请求结构,这我不想这么做。
关于asp.net - 使用授权标签时,MVC2 应用程序中的 AJAX Get/Post 嵌入登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4630105/