【问题标题】:How to authenticate WebApp from Exchange server 2013?如何从 Exchange server 2013 对 WebApp 进行身份验证?
【发布时间】:2017-03-07 20:22:39
【问题描述】:

我正在构建一个应用程序,该应用程序使用 Exchange API 从本地交换服务器获取用户的联系人。当前的方法是向用户询问用户名和密码。

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 客户端登录,是否可以避免询问密码?

【问题讨论】:

    标签: .net exchange-server exchangewebservices outlook-web-app


    【解决方案1】:

    这取决于 MS Exchange 环境。如果在 MS Exchange 环境中 Kerberosenabled,您可能会使用它(但这取决于您的应用程序如何访问 EWS)。微软在这里有一篇类似的文章: EWS from a Web Application using Windows Authentication and Impersonation

    请注意,默认情况下并没有启用 Kerberos,并且在大多数 MS Exchange 环境NTLM 中都已启用。还请注意,Kerberos 仅通过域上下文工作。这意味着如果运行 Outlook(和您的软件)的 PC 未加入活动目录域,则 Kerberos 无法正常工作(另请参阅here)。但是您可能希望在您的代码中检查这一点,如果 Kerberos 有效,您可能会使用它,如果没有,那么您可以要求用户输入密码(协商身份验证;您可能希望检查此here)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多