Web services 需要通过身份验证来交换Web服务吗

Web services 需要通过身份验证来交换Web服务吗,web-services,exchange-server,exchangewebservices,Web Services,Exchange Server,Exchangewebservices,我正在使用Exchange Web服务查找、创建、更新和删除一个或多个联系人的日历中的约会。经理将使用该应用程序查看员工的休假时间,并根据可用性分配约会 为了使这一切正常工作,必须将经过身份验证的用户凭据发送到web服务。到目前为止,我发现有两种方法可以实现这一点:1)传入每个用户的用户名和密码;2)模拟用户使用DefaultCredentials。DefaultCredentials选项不适用于我们,因为我们不允许模拟用户 有人知道另一种方法吗?如果我没弄错的话,经理会使用该应用程序并向EWS

我正在使用Exchange Web服务查找、创建、更新和删除一个或多个联系人的日历中的约会。经理将使用该应用程序查看员工的休假时间,并根据可用性分配约会

为了使这一切正常工作,必须将经过身份验证的用户凭据发送到web服务。到目前为止,我发现有两种方法可以实现这一点:1)传入每个用户的用户名和密码;2)模拟用户使用DefaultCredentials。DefaultCredentials选项不适用于我们,因为我们不允许模拟用户


有人知道另一种方法吗?

如果我没弄错的话,经理会使用该应用程序并向EWS进行身份验证。由于权限不足,EWS将无法更新其他用户的邮箱

让经理访问每个用户的邮箱怎么样


(或者我遗漏了问题的大部分?

是否有公司政策限制阻止您使用模拟?您是指Windows模拟还是Exchange模拟

根据您不能使用的模拟,另一种选择可能是委托访问

如果目标是让经理查看多个邮箱,则以下是一些选项:

(1) 将员工邮箱的代理访问权限授予经理。根据代理访问级别,这将允许经理查看员工邮箱并根据需要进行编辑。这种方法有一个警告,根据授予访问权限的内容/方式,代表(员工)可以删除访问权限,并阻止经理查看他们的日历

对于使用委托访问的身份验证,假设使用web服务的应用程序在管理器的上下文下运行,您应该能够使用DefaultCredentials

(2) 创建对员工邮箱具有模拟权限或委派访问权限的服务帐户。然后以服务帐户的身份登录

还有,这里有一些你可能会发现有用的链接

  • 对Exchange Web服务()使用委托访问
  • Exchange Web服务和委托访问()
  • 正在配置Exchange模拟()
  • 使用Exchange模拟()

如果用户将要登录到自己的计算机上,并且这些凭据可能在凭据缓存中可用,则可以从从那里获得的ICredentials对象构造WebCredential对象:

public static ExchangeService GetService()
{
    var webCredentials = new WebCredentials(CredentialCache.DefaultNetworkCredentials);

    var service = new ExchangeService(ExchangeVersion);
    service.AutodiscoverUrl(Properties.Settings.Default.SmptAccountName);
    service.Credentials = credentials;

    return service;   
}

似乎我们需要属于每个约会所有者的凭据才能更新约会。还在调查这件事。