我有一个使用表单身份验证的面向公众的MVC3站点。使用表单身份验证,如果用户未经授权,它会发送一个重定向到登录页面。我不希望出现这种行为,相反,我希望服务器返回401 unauthorized。有没有一种简单的方法可以做到这一点?
发布于 2012-06-08 02:15:21
你是说像这样的东西吗?
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]。
https://stackoverflow.com/questions/10937384
复制相似问题