0

我在 IIS 7.5 中使用 Windows 身份验证托管了 asp.net MVC 4 + WebAPI。当我从 MVC4 视图调用 WebAPI 时,它给了我 401 未经授权的错误。但它在我的本地主机上工作得很好。

我已经在我的 AuthenticationModule 类的两个地方(Thread.CurrentPrincipal 和 HttpContext.Current.User)设置了主体。

我尝试使用 System.Web.HTTP AuthorizeAttribute。

当我使用 Jquery 控制台进行调试时,我可以看到上下文主体为空。

让我知道以下内容。

  1. IIS 托管配置?
  2. 如何设计 WebAPI 验证/授权来自视图的调用?
4

2 回答 2

0
Could you show me how are you calling the web api? If you are calling it with an
httpclient you should provide a handler. I show you below:

        var handler = new HttpClientHandler()
        {
            UseDefaultCredentials = true
        };

        var client = new HttpClient(handler);
于 2013-04-24T18:54:49.603 回答
0

我的处理程序注册有问题;我忘了在 system.webServer 下添加它;

实际配置:

<configuration>
            <system.web>
                <httpModules>
                    <add .........../>
                </httpModules>
            </system.web>
        </configuration

新增配置:

<configuration>
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
            <add .........../>
        </modules>
    </system.webServer>
</configuration
于 2013-06-26T21:57:59.717 回答