相关疑难解决方法(0)

表单身份验证:禁用重定向到登录页面

我有一个使用ASP.NET Forms身份验证的应用程序.在大多数情况下,它工作得很好,但我试图通过.ashx文件添加对简单API的支持.我希望ashx文件具有可选的身份验证(即,如果您不提供身份验证标头,那么它只是匿名工作).但是,根据您的操作,我希望在某些条件下要求身份验证.

如果没有提供所需的身份验证,我认为用状态代码401进行响应将是一件简单的事情,但似乎Forms Authentcation模块正在拦截它并通过重定向到登录页面进行响应.我的意思是,如果我的ProcessRequest方法看起来像这样:

public void ProcessRequest(HttpContext context)
{
    Response.StatusCode = 401;
    Response.StatusDescription = "Authentication required";
}
Run Code Online (Sandbox Code Playgroud)

然后,而不是像我期望的那样在客户端上获得401错误代码,我实际上正在获得302重定向到登录页面.

对于nornal HTTP流量,我可以看到它是如何有用的,但是对于我的API页面,我希望401经过不加修改,以便客户端调用者可以以编程方式响应它.

有没有办法做到这一点?

asp.net forms-authentication

69
推荐指数
6
解决办法
4万
查看次数

标签 统计

asp.net ×1

forms-authentication ×1