我试过这个,但收效甚微。基本上我需要使用 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。有什么想法吗?
最佳答案
为了检查给定的凭据是否有效,您必须查询您希望用户有权访问的资源(日历、收件箱、联系人等)。没有明确的登录方法 - 当您请求用户资源(通过 FindItems
、FindFolders
、FindAppointments
等)时,身份验证隐式发生。。 p>
关于c# - 远程检查交换凭据并检查用户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10381378/