C# 4.0 ASP.NET Web API身份验证始终重定向到登录页
我的ASP.NET MVC应用程序正在使用带有C# 4.0 ASP.NET Web API身份验证始终重定向到登录页,c#-4.0,asp.net-mvc-4,asp.net-web-api,C# 4.0,Asp.net Mvc 4,Asp.net Web Api,我的ASP.NET MVC应用程序正在使用带有[System.Web.MVC.Authorize]的表单身份验证。我想使用[System.Web.Http.Authorize]属性来保护我的Web API控制器,因为我使用HttpClient从我的MVC控制器调用它,所以我已经实现了一个自定义的委托处理程序,如以下文章中的一个: 调试时,我可以看到主体已设置,用户具有正确的角色,但我仍然被重定向到登录页面 因此,基本上,当我使用浏览器登录并访问WebAPI操作时,一切都正常(就像我在视图中使用
[System.Web.MVC.Authorize]
的表单身份验证。我想使用[System.Web.Http.Authorize]
属性来保护我的Web API控制器,因为我使用HttpClient
从我的MVC控制器调用它,所以我已经实现了一个自定义的委托处理程序,如以下文章中的一个:
调试时,我可以看到主体已设置,用户具有正确的角色,但我仍然被重定向到登录页面
因此,基本上,当我使用浏览器登录并访问WebAPI操作时,一切都正常(就像我在视图中使用AJAX一样),但当我在控制器内部使用HttpClient
时(我知道这是一个具有不同上下文的新请求),并进行基本身份验证和设置主体时,我总是会被重定向
我尝试了很多解决方案/变通方法,我总是被重定向到登录页面。
每个人都有一个想法。这里有一个解释:
另一个有趣的地方是使用自定义授权。我做到了,而且成功了。以下示例:
祝您好运那么,当您登录后,您是否在委派处理程序中验证登录cookie是否已针对每个请求发送。如果是这样,它应该授权你