远程检查交换凭据并检查用户是否已登录

时间:2012-04-30 09:32:23

标签: c# winforms exchangewebservices exchange-server-2010

我尝试过这个并没有太大的成功。基本上我需要远程使用EWS登录Exchange。

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

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

以下是我目前要连接的代码。

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。有什么想法吗?

1 个答案:

答案 0 :(得分:10)

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