3

我的 ASP.NET MVC 应用程序使用带有[System.Web.Mvc.Authorize]. 我想使用[System.Web.Http.Authorize]属性来保护我的 Web API 控制器,因为我是HttpClient从我的 MVC 控制器调用它,所以我已经实现了一个自定义委托处理程序,如下面的帖子中的那个:

使用成员资格提供程序的 ASP.NET MVC 4 Web API 身份验证

调试时,我可以看到主体已设置并且用户具有正确的角色,但我仍然被重定向到登录页面?

因此,基本上当我登录并使用浏览器访问 WebAPI 操作时,一切正常(就像我从我的视图中使用 AJAX 一样),但是当我HttpClient在控制器内部使用基本身份验证时(我知道这是一个具有不同上下文的新请求)和设置我总是被重定向的主体。

我已经尝试了很多解决方案/解决方法,但我总是被重定向到登录页面。任何人都有想法。

4

1 回答 1

0

这是一个解释:

System-web-http-authorize x 系统-web-mvc-authorize

另一个有趣的点是您使用自定义授权。我做到了,它奏效了。以下示例:

自定义授权 Mvc 4

祝你好运

于 2014-05-30T14:53:51.410 回答