2

現在ログオンしているユーザーの資格情報を Exchange Web サービス マネージ API に渡そうとしています。それらを検査したり値を確認したりするのではなく、単にそれらを使用して呼び出しを行います。アプリケーションは Windows 認証を使用しており、現在の Windows ID は期待どおりです。

WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent(); //returns DOMAIN\useraccount

ただし、CredentialCache.DefaultNetworkCredentials はアプリケーション プールの資格情報を返しています。

exchangeservice.Credentials = CredentialCache.DefaultNetworkCredentials;
\\Passes the application pool credentials.

なりすましを試みましたが、正しいかどうかはわかりません。

using (WindowsImpersonationContext context = identity.Impersonate())
{
    exchangeservice.Credentials = CredentialCache.DefaultNetworkCredentials; 
    \\Passes the application pool credentials.
}

web.config は<authentication mode="Windows" />Windows 認証も設定し、IIS も設定します。アプリケーション プールで [ユーザー プロファイルの読み込み] が false に設定されています。

ここに画像の説明を入力

どんな助けでも大歓迎です。

4

0 に答える 0