Lim*_*ima 7 asp.net exchangewebservices exchange-server-2010
我正在尝试创建一个ASP.NET(.NET 3.5)网站,通过Exchange Web服务连接到我们的Exchange 2010服务器,当我定义用户名,密码和域进行身份验证时,我能够连接到EWS,但我希望,如果可能,不在我的代码中包含登录详细信息.
在IIS中,我已在站点的web.config中为站点启用了集成Windows身份验证<authentication mode="Windows"/>.
以下代码是我一直在使用的代码:
svc.UseDefaultCredentials = True
svc.Credentials = New WebCredentials()
svc.Url = New Uri(svcURL)
Run Code Online (Sandbox Code Playgroud)
使用上面的代码我收到的消息:
将请求作为没有邮箱的帐户发出时,必须为任何可识别的文件夹ID指定邮箱主SMTP地址.
当我尝试使用svc.Credentials = CredentialCache.DefaultNetworkCredentials(代替svc.Credentials = New WebCredentials())时,我收到错误消息:
无法将类型为"System.Net.SystemNetworkCredential"的对象强制转换为"Microsoft.Exchange.WebServices.Data.ExchangeCredentials".
如上所述,唯一有效的方法是通过硬编码用户登录详细信息来定义要通过身份验证的用户凭据,我宁愿不这样做: svc.Credentials = New WebCredentials("username","password","domain")
有没有人能够使用ASP.NET网站中当前登录用户的凭据对EWS进行身份验证?
默认情况下,无法将用户的凭据从一台服务器(托管 ASP.NET 站点的服务器)委托给另一台服务器(您的 Exchange 服务器)。这称为“服务器跃点”,Windows 默认情况下将阻止它作为安全措施。
您有几个选项可以解决此问题:
| 归档时间: |
|
| 查看次数: |
1108 次 |
| 最近记录: |