认证服务收到EWS未经授权的401
本文关键字:授权 EWS 认证服务 | 更新日期: 2023-09-27 18:29:11
我用C#编写了一个windows服务,可以使用EWS自动轮询exchange邮箱。
在我的开发机器上,它通过VPN连接到交换服务器网络,工作得很好。
在目标服务器上,EWS正在返回:
请求失败。远程服务器返回错误:(401)未经授权。(远程服务器返回错误:(401)未经授权。)
在同一台服务器上,我可以使用提供给服务的相同凭据通过浏览器连接到EWS URL。
凭据在app.config
文件中提供,我已经三次检查了它们在目标服务器上是否与我的开发机器相同。
是什么原因造成的?
事实证明,问题是这个
_ews.Credentials = new NetworkCredential(Settings.Username, Settings.Password); // Username in the form "domainname'username"
应该是这个
_ews.Credentials = new NetworkCredential(Settings.Username, Settings.Password, Settings.Domain); // Domainname and username separate
出于某种原因,第一条线路在VPN上进行外部工作,但在域网络本身上不进行内部工作。