我认为只需在未提供所需身份验证时用状态代码401进行响应就可以了。但是,似乎Forms身份验证模块正在拦截它,并代替响应重定向到登录页面。我的意思是,如果我的
ProcessRequest
方法看起来像这样:public void ProcessRequest(HttpContext context)
{
Response.StatusCode = 401;
Response.StatusDescription = "Authentication required";
}
然后我没有像预期的那样在客户端收到401错误代码,而是 实际上 收到了302重定向到登录页面。
对于普通的HTTP流量,我可以理解这样做是有用的,但对于我的API页面,我希望401未经修改地通过,以便客户端调用程序可以对其进行编程响应。
有什么办法可以做到这一点吗?
Application_EndRequest
事件中,以在整个应用程序中应用此设置。示例。 - David Sherret