创建将连接到 Exchange Web 服务并检索当前用户的收件箱项目的网页。需要集成身份验证。我们不希望任何人登录。
将 IIS 配置为执行 Windows 身份验证并在 web.config 中设置以下参数。
这使它正常工作,但前提是该网站在其托管的服务器上被调用。如果我在另一个工作站上调用相同的 URL,我会得到 (401) Unauthorized。
如果页面在主机服务器上执行时针对交换正确验证了自己,为什么当从客户端工作站调用同一页面时,同样的事情不工作?在这两种情况下,Windows/域登录用户 ID 是相同的。下面是代码如何针对 Exchange 进行身份验证。
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.Url = new Uri("https://hostname/EWS/Exchange.asmx");
service.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
有谁知道这里的罪魁祸首是什么?谢谢!