Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何从Exchange server 2013验证WebApp?_.net_Exchange Server_Exchangewebservices_Outlook Web App - Fatal编程技术网

.net 如何从Exchange server 2013验证WebApp?

.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

我正在构建一个应用程序,使用exchange API从本地exchange服务器获取用户的联系人。当前的方法是要求用户输入用户名和密码

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起作用,您可以使用它,如果不起作用,则可以向用户请求密码(协商身份验证;您可能希望检查这一点)