创建一个网页,用于连接到 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;
有人知道这里的罪魁祸首是什么吗?谢谢!
最佳答案
尝试使用:
service.Credentials = new WebCredentials("user", "passwordd", "domain");
应该可以。
关于iis - 调用 Exchange Web 服务时出现 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967907/