Windows 認証セキュリティが適用された IIS でホストされている Web サービスを呼び出そうとしています。
私は、INDY 10 と TIdHttp コンポーネントで Delphi XE を使用しています。
有効なユーザー名とパスワードを渡すと Web サービスを正常に呼び出すことができますが、統合セキュリティを使用して、呼び出し元のスレッドからの資格情報を自動的に使用し、ユーザーが詳細を手動で入力する必要がないようにしたいと考えています。
uses 句に IdAuthenticationSSPI を含め、http リクエストを次のように呼び出します。
IdHttp1.Request.BasicAuthentication := False;
IdHttp1.HTTPOptions := [hoInProcessAuth];
// IdHttp1.Request.Username := '...'; // including this works
// IdHttp1.Request.Password := '...'; // including this works
IdHttp1.Get(myURL, myOutputStream);
私の理解では、IdAuthenticationSSPI を使用すると、資格情報が渡されない場合、呼び出し元のスレッドのユーザーになりすますことになります。
atozedsoftware.newsgroups Web サイトで、これが可能であることを示唆するコメントを見たことがありますが、残念ながら「HTTP/1.1 401 Unauthorized」というメッセージが表示されます。
誰か提案はありますか?