EWS: олицетворение пользователей с разных серверов в одном домене

У меня два сервера: S1 — Exchange2010, S2 — Exchange 2007.

Оба сервера находятся в одном домене в ActiveDirectory.

Идея состоит в том, чтобы иметь «служебную учетную запись» на S1 с включенным олицетворением пользователей с обоих серверов. Мое приложение использует учетные данные «служебной учетной записи», а затем начинает перебирать список SMTP-адресов. Он олицетворяет каждый smtp-адрес и выполняет некоторую обработку содержимого почтового ящика этой учетной записи.

Это теория, теперь время для проблем.

Я могу подключиться как учетная запись службы и получить доступ к своему почтовому ящику, но когда я пытаюсь получить доступ к почтовому ящику олицетворенного пользователя, я получаю исключение, говорящее, что «SMTP-адрес не имеет связанного с ним почтового ящика». И исключение происходит для обоих серверов.

Я начал отлаживать и гуглить о возможных причинах и на пустом месте изменил это:

svc.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, smtpAddress);

в это:

svc.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, smtpAddress);

и это сработало, что очень странно, потому что месяц назад у меня была другая настройка только с одним сервером, и использование перечисления SmtpAddress работало, и мой админ ругается, что конфигурация имперсонации точно такая же.

Теперь, если бы кто-нибудь мог дать мне несколько советов о том, почему я не могу использовать ConnectingIdType.SmtpAddress и что я должен сделать, чтобы он мог работать?


person grapkulec    schedule 16.06.2011    source источник


Ответы (1)


Конечно, оказалось, что администратор сделал что-то по-другому для моей текущей конфигурации. В новой среде есть политика, согласно которой имя учетной записи отличается от smtp-адреса для учетной записи, а smtp имеет точку между именем и фамилией пользователя. Так, например, в старой конфигурации я мог олицетворять [email protected] независимо от того, какой ConnectingIdType я выбрал, но в новой среде мне нужно установить правильный тип идентификатора в зависимости от того, использую ли я smtp или имя учетной записи в качестве олицетворенного идентификатора.

Надеюсь, это поможет, если чей-то админ тоже "ничего не менял" :)

person grapkulec    schedule 29.06.2011
comment
Спасибо за ваш отзыв :) - person Sébastien Vanmechelen; 12.05.2015