2011-11-23 10 views
0

最近私はローカルのPCから開発サーバーに移動するまで、すべて正常に動作するWebサービスを作成しました。小さなテストサイトから接続しようとすると、今度はHTTP status 401: Access Deniedというメッセージが表示されます。私の周りGoogleで検索し、次のコードが見つかりました:Webサービスとアクセスが拒否されました

SoiisdevJobService.JobsService jService = new SoiisdevJobService.JobsService(); 
jService.Credentials = System.Net.CredentialCache.DefaultCredentials; 

をそして、それが動作するようになりましたが、私はこのコードが実際に何をするかわかりません。誰かが私にそれを説明することはできますか?私はIIS 6、Windows authを使用しています。私の設定では、authモードをWindowsに設定し、非authユーザーを拒否しています。私の小さなテストアプリで私は自分の設定で同じことを設定しました。

なぜ上記のコードを提供する必要がありますか?私はこれがうまくいくと思った。

答えて

1

これは、認証されていないユーザーのアクセスを無効にしたためです。 MicrosoftのWebサイト(http://support.microsoft.com/kb/811318/EN-US)から以下の引用を参照してください:匿名アクセスの認証がWebサービス アプリケーションのためにオフになっている

、すべての呼び出し元のアプリケーションはすべての要求を行う前に資格情報 を提供する必要があります。既定では、Webサービスクライアントプロキシ は、Web サービスクライアントアプリケーションが実行されているセキュリティコンテキストの資格情報を継承しません。

+0

ありがとうございます。しかし、デフォルトクレジットは何ですか?それは単に認証として使用するWebサービスに私のWindowsのログオンを割り当てることですか? –

関連する問題