0

私は、ユーザー交換カレンダーにアクセスする必要がある .NET アプリケーションを作成する任務を負っています。このアプリケーションはローカル ネットワークからのみアクセスされるため、Exchange にアクセスするには、現在のドメイン ユーザーの資格情報を自動的に使用する必要があります。

次のコードがありますが、「アカウントには、要求されたユーザーを偽装する権限がありません」というエラーが表示されます。

ExchangeService service = new ExchangeService();
service.UseDefaultCredentials = true;
string exchange = "exchangeWSURL";
service.Url = new Uri(exchange);
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, userid);
service.PreAuthenticate = true;
CalendarView cal = new CalendarView(startDate, startDate.AddDays(7));
FindItemsResults<Appointment> findResults = service.FindAppointments(WellKnownFolderName.Calendar, cal);

私は何か間違ったことをしているようです。ドメイン上のすべてのユーザーに対して偽装を有効にする必要があることを望んでいました。

どんな助けでも素晴らしいでしょう。

4

2 に答える 2

0

この記事は、あなたが探していると思われるものを提供します。「偽装」の段落に注意してください。これはあなたのニーズに完全に合っているようです。

ASP.NET と Exchange のヒントとサンプル

于 2013-05-28T20:42:00.690 に答える
0

MSDN からコピー:

アプリケーションが偽装を使用する前に、偽装を許可するように Exchange サーバーを構成する必要があります。詳細については、「Exchange 偽装の構成 (Exchange Web サービス)」を参照してください。

https://msdn.microsoft.com/en-us/library/dd633680(v=exchg.80).aspx
https://msdn.microsoft.com/en-us/library/bb204095(exchg.140).aspx

于 2016-12-20T13:32:42.643 に答える