c# - 远程检查交换凭据并检查用户登录

标签 c# winforms exchangewebservices exchange-server-2010

我试过这个,但收效甚微。基本上我需要使用 EWS 远程登录到 Exchange。

问题是我不知道用户是否已正确登录,或者凭据是否错误,因为我什么也得不到!如果我提供了错误的凭据,软件就会继续运行!

有没有我遗漏的东西,我已经检查了关于 EWS 的 MSDN 内容,它向您展示了如何连接到交换,但没有关于验证凭据的内容!

下面是我目前必须连接的代码。

public void connect(string Email, string Password)
    {
        try
        {            
            _useremail = Email;
            _userpass = Password;

            // Define the credentials to use.
            var credentials = new WebCredentials(_useremail, _userpass);

            _ExchangeServer = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
            _ExchangeServer.Credentials = credentials;
            _ExchangeServer.Url = new Uri(_ExchangeEWSURL);
            _ExchangeServer.Timeout = 60;
            _ExchangeServer.KeepAlive = true;
            _ExchangeConnected = true;
        }
        catch (Exception ex)
        {
            _ExchangeConnected = false;
            throw ex;
        }
    }

如您所见,目前我只是在类中将一个 bool 值设置为 true。有什么想法吗?

最佳答案

为了检查给定的凭据是否有效,您必须查询您希望用户有权访问的资源(日历、收件箱、联系人等)。没有明确的登录方法 - 当您请求用户资源(通过 FindItemsFindFoldersFindAppointments)时,身份验证隐式发生。。 p>

关于c# - 远程检查交换凭据并检查用户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10381378/

相关文章:

c# - On Error catch block 没有调用

c# - 无法在 C# 中使用静态 IP 地址 + 端口连接到数据库

asp.net - 编辑和创建表单应该是同一个吗?

c# - 替换是/否/取消 MessageBox (C#)

ssl - 通过 o365 的 EWS 是否改变了它处理 SSLv3 连接的方式?

c# - Compact Framework 2.0 C# FTP 服务器

c# - 如何制作非阻塞等待句柄?

visual-studio - 如何使用 .NET Core 创建 Windows 窗体项目?

exchangewebservices - 多个 PushNotification 订阅有些可以正常工作,有些则不能

c# - 如何从 EWS 检索公共(public)日历?