0

Windows認証を使用して、IIS 7.5でasp.net MVC 4 + WebAPIをホストしました。MVC4 ビューから WebAPI を呼び出すと、401 無許可エラーが発生します。しかし、私のローカルホストからは問題なく動作します。

AuthenticationModule クラスの両方の場所 (Thread.CurrentPrincipal と HttpContext.Current.User) にプリンシパルを設定しました。

System.Web.HTTP AuthorizeAttribute で試しました。

Jquery コンソールでデバッグすると、コンテキスト プリンシパルが null であることがわかりました。

以下をお知らせください。

  1. IIS ホスティング構成?
  2. ビューからの WebAPI 認証/承認呼び出しを設計する方法は?
4

2 に答える 2

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 に答える
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 に答える