【发布时间】:2010-07-27 09:56:30
【问题描述】:
简介:
我的框架中有一个子类 AuthorizeAttribute,我在其中进行自定义授权。
我正在从普通的 asp.net mvc 视图渲染切换到通过 jQuery 进行的 Ajax 渲染。因此,应用程序中的每个链接都会调用 ajax 来获取数据。
为了解决这个问题,我将大部分页面转换为部分视图,以便每个 ajax 请求只获取页面上需要更新的部分。
在正常视图呈现期间,当请求未经授权时,它会被重定向到 web.config 中描述的登录页面。转换为 Ajax 后,情况有些不同,因为我不希望在 ajax 请求中使用登录页面的标记,但希望在其中有结构化的响应,以便我可以在 ajax 调用中采取相应的行动。
为了做到这一点,我相信我必须重写子类 AuthorizeAttribute 类中的 HandleUnauthorizedRequest 方法,并将 filterContext.Result 设置为 json 结果。但是在这样做时,我将如何区分未经授权的请求和成功的请求,因为从 ajax 调用的角度来看,两者都是成功的响应;因此将在成功处理程序中处理。
处理这个问题的正确方法是什么?
【问题讨论】:
标签: asp.net-mvc-2 jquery