Я попытался сделать это с небольшим успехом. В основном мне нужно подключиться к Exchange с помощью EWS удаленно.Проверить учетные данные Exchange удаленно и проверить зарегистрированный пользователь
Проблема заключается в том, что я не знаю, был ли пользователь зарегистрирован в порядке или если учетные данные неверны, поскольку я ничего не получил! Если я предоставляю неверные учетные данные, программное обеспечение просто продолжается!
Есть ли что-то, что мне не хватает, я проверил материал MSDN о EWS, который показывает вам, как подключиться к обмену, но ничего не требует проверки учетных данных!
Ниже приведен код, который я должен сейчас подключить.
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. Есть идеи?
Спасибо SliverNinja (отличное имя кстати) от того, что я прочитал, могу ли я сделать PrincipalContext? К сожалению, сервер дает мне 401s в данный момент, поэтому я не могу проверить :( – Neo
SliverNinja, если вы опубликуете пример, я отмечу это как принятый ответ, поскольку он работает! – Neo
Если вы просто хотите убедиться, что учетные данные действительный и не проверяющий доступ к определенным ресурсам, вы можете сделать такой вызов: 'exchService.ConvertIds (новый AlternateId [] {новый AlternateId (IdFormat.HexEntryId," 00 ", email)}, IdFormat.HexEntryId);' Он будет выражать исключение, если credentilas ошибочны. –