Управляемый EWS API: может ли пользователь A выдавать себя за пользователя B в приложении Windows? - PullRequest
0 голосов
/ 26 февраля 2019

Мне нужно определить, есть ли у домена UserA - в настоящее время работающего настольного приложения Windows - разрешения на олицетворение другого пользователя в Exchange, скажем, UserB.

Я могу попытаться сделать что-то вроде чтения входящих сообщений UserB, но мне нужен был более чистый способ сделать это.

Нет ли способа загрузить роли Exchange UserA и искать ApplicationImpersonation или что-то еще?

Итак, установка выглядит следующим образом:

ExchangeService service = new ExchangeService(exchangeVersion);
service.UseDefaultCredentials = true;
service.AutodiscoverUrl(userEmail);
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, UserToImpersonate);

// Ищемчто-то вроде этого:

if (! service.CanImpersonate (userEmail, UserToImpersonate)) {Exception ex = new Exception (userEmail + "не может подражать" + UserToImpersonate);бросить экс;}

1 Ответ

0 голосов
/ 27 февраля 2019

Если вы не используете EWS, вам нужно будет использовать командлеты командной консоли Exchange https://docs.microsoft.com/en-us/powershell/module/exchange/role-based-access-control/get-managementroleassignment?view=exchange-ps, чтобы проверить, разрешена ли имитация приложения для конкретного пользователя.EWS - это API почтового ящика, а настройка, о которой вы говорите, является административной, поэтому лучшее, что вы можете сделать с EWS, - это исключение и предложение корректирующих действий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...