0

イントラネット サイト (私が開発したものではない) を見ていますが、基本認証が有効になっています。Windows 認証に変更する必要があり、IIS でそれを行いました。

基本的に、Visual Studio 2010リモートデバッガーをインストールして、基本認証を使用して正常に動作する理由を確認しましたが、Windowsに変更すると動作しません。

エラー 401 無許可で、try の最初の行でハングします。

        oReq.ContentType = "application/x-www-form-urlencoded";
        oReq.Method = "POST";

        // Set the script timeout to a desired value. Timeout value is specified in milliseconds.
        oReq.Timeout = 60000;

        WindowsIdentity wId = (WindowsIdentity)HttpContext.Current.User.Identity;
        WindowsIdentity wIdb4 = WindowsIdentity.GetCurrent();
        string name = wIdb4.Name;
        WindowsImpersonationContext wIdCon = wId.Impersonate();

        // Set credentials to use for this request. 
        oReq.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

        Stream oDataStream = oReq.GetRequestStream();

        // Use EncodeParam to enocde the parameters passed in the URL
        String sParam = "...";

        UTF8Encoding encoding = new UTF8Encoding();
        Byte[] Buffer = encoding.GetBytes(sParam);
        oDataStream.Write(Buffer, 0, Buffer.Length);
        oDataStream.Close();
try
   {
      HttpWebResponse oResp = (HttpWebResponse)oReq.GetResponse();
      ....
   }

意味がありません。どうして Windows ではなく基本認証で処理されるのでしょうか? また、ローカル マシンの asp.net サーバーでサイトを実行すると、正常に動作します。

4

0 に答える 0