.net 如何从Exchange server 2013验证WebApp?
我正在构建一个应用程序,使用exchange API从本地exchange服务器获取用户的联系人。当前的方法是要求用户输入用户名和密码.net 如何从Exchange server 2013验证WebApp?,.net,exchange-server,exchangewebservices,outlook-web-app,.net,Exchange Server,Exchangewebservices,Outlook Web App,我正在构建一个应用程序,使用exchange API从本地exchange服务器获取用户的联系人。当前的方法是要求用户输入用户名和密码 var service = new ExchangeService(ExchangeVersion.Exchange2013) { Credentials = new WebCredentials(credentials.UserName, credentials.Password), TraceEnabled = f
var service = new ExchangeService(ExchangeVersion.Exchange2013)
{
Credentials = new WebCredentials(credentials.UserName, credentials.Password),
TraceEnabled = false,
Url = new Uri("https://mail.*****.com/EWS/Exchange.asmx")
};
我想知道如果用户已经从MS Oulook客户端登录,是否可以避免询问密码 这取决于MS Exchange环境。如果在MS Exchange环境中,则可以使用它(但这取决于应用程序访问EWS的方式)。Microsoft在此处有一篇类似的文章: 请注意,Kerberos不是按默认值启用的,而且在大多数现有的MS Exchange环境中也是如此。还要注意的是,Kerberos只能通过域上下文工作。这意味着如果运行Outlook(和您的软件)的PC未加入active directory域,则Kerberos无法工作(另请参阅)。但是,您可能希望在代码中检查这一点,如果Kerberos起作用,您可以使用它,如果不起作用,则可以向用户请求密码(协商身份验证;您可能希望检查这一点)