我有一个使用表单身份验证的面向公众的 MVC3 站点。使用表单身份验证,如果用户未获得授权,则会将重定向发送到登录页面。我不希望这种行为,而是希望服务器以未经授权的 401 响应。有没有一种简单的方法可以做到这一点?
问问题
2092 次
1 回答
3
你的意思是这样的吗?
public class 401AuthorizeAttribute : AuthorizeAttribute
{
private class Http401Result : ActionResult
{
public override void ExecuteResult(ControllerContext context)
{
// Set the response code to 401.
context.HttpContext.Response.StatusCode = 401;
context.HttpContext.Response.End();
}
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new Http401Result();
}
}
您必须使用此属性而不是[Authorize]
.
于 2012-06-07T18:15:21.270 回答