0

我的任务是编写一个必须能够访问用户交换日历的 .NET 应用程序。此应用程序只能从本地网络访问,我需要自动使用当前域用户凭据来访问交换。

我有以下代码,但我收到一条错误消息,提示“该帐户无权模拟所请求的用户”。

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 回答