我有一个 ASP.NET MVC 4 Intranet 应用程序。
该应用程序使用 Windows 身份验证来验证用户。我可以使用 User.Identity.Name 获取用户名。这包含域名和用户名 (MyDomain\Username)。
我现在想通过 Exchange Web 服务 API 向用户日历添加约会。
我可以这样做:
var service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.Credentials = new WebCredentials(Settings.MyAccount, Settings.MyPassword);
service.Url = new Uri(Settings.ExchangeServer);
var appointment = new Microsoft.Exchange.WebServices.Data.Appointment(service);
appointment.Subject = setAppointmentDto.Title;
appointment.Body = setAppointmentDto.Message;
appointment.Location = setAppointmentDto.Location;
...
appointment.Save(SendInvitationsMode.SendToAllAndSaveCopy);
这会为凭据中指定的用户添加约会。
我没有当前登录用户的密码。由于我使用的是 Windows 身份验证(Active Directory 帐户),有没有办法以某种方式使用此身份验证信息通过使用 Web 应用程序的用户的帐户来使用 Exchange Web 服务?由于安全原因,无法从 Active Directory 中检索用户密码。
还有另一种方法吗?作为使用该服务的用户,是否可以为另一个用户创建约会?
问候
亚历山大