用に設定されているURLに私はここに文書化さGetUserPhoto REST要求を使用してMicrosoft Exchangeの外のユーザーの写真を取得しようとしています:https://msdn.microsoft.com/en-us/library/office/jj190905%28v=exchg.150%29.aspx?f=255&MSPPError=-2147217396C#のWebRequest Windows認証
私の問題は関係なく、私は、接続が閉じられます何をすべきかではありません自動的にNTLMを使用して認証することはできません。マイクロソフトではコードも提供していますが、ドメインユーザーとして実行しているアプリケーションプールを使用している場合でもIIS Webアプリケーションでこれを実行すると、決して認証できません。
これは動作していない私の現在のコードです:
request = System.Net.WebRequest.Create($"https://{Settings.ExchangeServer}/ews/exchange.asmx/s/GetUserPhoto?email={primarySmtpAddress}&size=HR240x240") as System.Net.HttpWebRequest;
request.ServerCertificateValidationCallback = delegate { return true; };
request.UseDefaultCredentials = true;
resp = request.GetResponse() as System.Net.HttpWebResponse;
今、私はコンソールアプリケーションでこれを入れて、それを実行して、それが動作することができます。しかし、IISではまったく動作しません。私は運がないRestSharpも試みました。
私が見ることは、ユーザーがアプリケーションにログインするのを偽装するASP.NET偽装とWindows認証を使用していることです。 私は、アプリケーションが実行されている資格情報(アプリケーションプールの資格情報)を使用して、Exchange EWS URLに要求したいと思っています。 – Jacob
しかし、アプリケーションプールの資格情報が使用され、同じソリューションが機能するはずの同じ委任の問題になります。 –
ああ、私はフォーム認証を使用しますが、Windows認証と偽装を有効にすると、資格情報を通過させる可能性があるので、匿名認証を保持できますか?私はそれを試してみる – Jacob