0

我正在开发 MVC3 应用程序,其中实现了 EF 的成员资格。这里的成员资格应用于具有 [Authorize] 属性的每个控制器的所有操作方法。但不适用于 JsonResult 方法,此处 Actionresult 方法仅用于显示页面,而 jsonresult 方法用于通过异步调用进行验证。

例如。在查看页面中有下拉菜单,当更改其选项时,它会通过异步调用进行验证。所以当会话到期时。并且用户从下拉菜单中更改选项,然后通过 $.ajax 方法进行异步调用,该方法无法返回 403 之类的代码。所以我需要如何获取此代码。

4

1 回答 1

0

如果我正确理解您的问题,您:

  • 保护控制器上的大多数方法[Authorize]
  • 具有用于验证的不受保护的 JsonResult 方法,并且
  • 如果用户的会话过期,想要从 Json 方法返回 403?

我想我不明白为什么你不只是[Authorize]使用 Json 方法,但你可以这样做:

if (!User.Identity.IsAuthenticated)
    return new HttpStatusCodeResult(System.Net.HttpStatusCode.Forbidden);

干杯。

于 2013-01-18T15:58:03.843 回答