2

HttpClient (httpclient 4.3.6) を取得して現在のユーザーを IIS REST サービスに認証する方法についてのポインターを探しています。

すぐに使用できる WWW 認証プロトコルを処理しているように見えるので、UrlConnection を使用して問題なく接続できます。

マルチパート POST/PUT (FileEntity) を利用するために HttpClient に移行しましたが、HttpClient が WWW 認証を処理しないことがわかりました。プロセスの最初の部分である 401 で失敗するだけです。

NTLM資格情報などを提示する例をいくつか見つけました...しかし、資格情報を取得したくありません。現在のWindows IDを使用して要求を実行したいのです。

私に代わってこれを管理するために使用できるコードまたは API はありますか? ユーザー名とパスワードを取得したくありません。現在のユーザー資格情報を提示したいだけです。SPNEGO などのサードパーティ ライブラリを使用する必要がありますか?

よろしくお願いします

4

1 に答える 1

2

HttpClient 4.4 を試してみることをお勧めします (まもなく GA としてリリースされます)。Windows OS での実行時に、ネイティブの Windows ネゴシエート、Kerberos、および JNA を介した SSPI 経由の NTLM をサポートします。この機能はまだ実験的なものであることに注意してください。あなたのマイレージは異なる場合があります。

http://hc.apache.org/httpcomponents-client-4.4.x/httpclient-win/examples/org/apache/http/examples/client/win/ClientWinAuth.java

于 2015-01-22T10:16:18.747 に答える