Asp.net mvc 4 当Web Api身份验证失败时,防止MVC中的表单授权重定向

Asp.net mvc 4 当Web Api身份验证失败时,防止MVC中的表单授权重定向,asp.net-mvc-4,redirect,asp.net-web-api,forms-authentication,Asp.net Mvc 4,Redirect,Asp.net Web Api,Forms Authentication,我基本上是Web Api的新手,但我最终将Web Api添加到了一个现有项目中,并实现了一个基本的授权过滤器,它允许我在apicontroller操作方法中验证用户并使用他们的身份 我遇到的问题是,当用户未成功通过身份验证(他们的授权凭据无效)时,我无法返回401禁止响应,因为MVC站点会自动重定向到登录页面,并返回带有302重定向代码的html 我看到过如下修复: protected void Application_EndRequest(Object sender, EventArgs e)

我基本上是Web Api的新手,但我最终将Web Api添加到了一个现有项目中,并实现了一个基本的授权过滤器,它允许我在apicontroller操作方法中验证用户并使用他们的身份

我遇到的问题是,当用户未成功通过身份验证(他们的授权凭据无效)时,我无法返回401禁止响应,因为MVC站点会自动重定向到登录页面,并返回带有302重定向代码的html

我看到过如下修复:

protected void Application_EndRequest(Object sender, EventArgs e)
    {
        HttpApplication context = (HttpApplication)sender;
        context.Response.SuppressFormsAuthenticationRedirect = true;
    }
在global.asax中

这根本不起作用。即使它已经工作,它将防止重定向用户浏览的网站,我想保留


是否有办法防止仅在使用我的Web Api授权失败的情况下发生此重定向,同时保留主MVC站点的重定向?

请查看我关于感谢您回复的回答。你回答的问题似乎和我的一致。我来试试。让它工作起来,把你对链接问题的答案投上赞成票