我有一个 MVC 5.1 站点,它带有一个带有单个 POST 操作的控制器。我有一个 Android 应用程序,我想使用基本身份验证向它发布。我创建了一个BasicAuthorizeAttribute
类并将其应用于我的控制器,并出于测试目的使其拒绝所有内容:
public class BasicAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
return false;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.HttpContext.Response.SuppressFormsAuthenticationRedirect = true;
base.HandleUnauthorizedRequest(filterContext);
}
}
我可以在调试器中单步执行我的 HandleUnauthorizedRequest,但 Fiddler 显示 POST 响应是 302 重定向到登录页面。我认为SuppressFormsAuthenticationRedirect
应该防止这种情况发生。这是一个问题,因为 Android 应用程序遵循重定向并从登录请求中获得 200 OK,因此看起来 POST 成功。我究竟做错了什么?