|
Как работает авторизация и разделение данных в Excnahge при использовании EWS? | ☑ | ||
---|---|---|---|---|
0
Pandoch
12.09.19
✎
18:07
|
Всем здравствуйте.
Выполняла интеграция с MS Exchange через EWS. Разработка велась на 1 учетной записи тестовой. сейчас у клиента внедряем и проблемы начались. Авторизация х.. пойми как работает. То есть я создаю объект, прописываю креденшлс и даже если прописать неверный пароль, то дальше по коду я отправляю запрос, в теле запроса - XML запрос папочек - и он успешно мне возвращает ответ. Для чего авторизация, спрашивается?? и по какой схеме она вообще работает? вот что нашла в документации: https://docs.microsoft.com/ru-ru/exchange/client-developer/exchange-web-services/authentication-and-ews-in-exchange типа есть 3 уровня проверки подлинности. Как я дергаю EWS: Функция СоздатьXMLHTTP(ИмяСервера, Логин, Пароль) стрURL="https://" + ИмяСервера + "/EWS/Exchange.asmx"; oXMLHTTP = Новый COMОбъект("MSXML2.XMLHTTP"); oXMLHTTP.open("POST", стрURL, 0, Логин, Пароль); // третий параметр - вызов асинхронных запросов (Булево) oXMLHTTP.setRequestHeader("Content-Type", "text/xml;charset=UTF-8"); Возврат oXMLHTTP; КонецФункции Далее я отправляю запросик, например на получение список всех папок по юзеру: // Запросим список всех папок. oXMLHTTP5 = СоздатьXMLHTTP(СерверВходящейПочты, Пользователь, пароль); XML_FindFolder = XML_FindFolders(); oXMLHTTP5.send(XML_FindFolder); XML_FindFolder - тело запроса, взяла из документации. выглядит так: Функция XML_FindFolders() Возврат "<?xml version=""1.0"" encoding=""utf-8""?> |<soap:Envelope xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"" | xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" | xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" | xmlns:m=""http://schemas.microsoft.com/exchange/services/2006/messages"" | xmlns:t=""http://schemas.microsoft.com/exchange/services/2006/types""> |<soap:Body> | <m:FindFolder Traversal=""Deep"" xmlns=""http://schemas.microsoft.com/exchange/services/2006/messages""> | <m:FolderShape> | <t:BaseShape>IdOnly</t:BaseShape> | | <t:AdditionalProperties> | <t:FieldURI FieldURI=""folder:DisplayName"" /> | <t:FieldURI FieldURI=""folder:FolderId"" /> | <t:FieldURI FieldURI=""folder:FolderClass"" /> | </t:AdditionalProperties> | | </m:FolderShape> // Ограничение на получение папок только для писем. |<m:Restriction> | <t:IsEqualTo> | <t:FieldURI FieldURI=""folder:FolderClass""/> | <t:FieldURIOrConstant> | <t:Constant Value=""IPF.Note""/> | </t:FieldURIOrConstant> | </t:IsEqualTo> |</m:Restriction> | | <m:ParentFolderIds> | <t:DistinguishedFolderId Id=""msgfolderroot""/> | </m:ParentFolderIds> | </m:FindFolder> | </soap:Body> |</soap:Envelope> |"; КонецФункции И если даже я задаю неверный пароль - то он все равно что-то возвращает. НО - тут важно, у нас была старая учетка - там он ругается если изменить пароль. А есть другие учетки - новая и пользовательская рабочая - если я там меняю пароль на кривой, то запрос все равно возвращает 200 и какое-то информативное тело. В чем я хочу разобраться: 1) В данном случае я использую обычную проверку подлинности? может он запоминает последнюю корректную авторизацию и если я потом под неверным паролем стучусь, то использует вход под авторизованным в последний раз юзером? 2) Я же по идее при отправке запроса должна получать папки только свои? по своей учетной записи? кто-нибудь работал с exchange, знает как это разграничивается?? то есть по каждой учетной записи есть своя папка Входящие со своим айдишником? |
|||
1
Pandoch
13.09.19
✎
08:33
|
1
|
|||
2
Pandoch
13.09.19
✎
08:34
|
Нерешенная
|
|||
3
Pandoch
13.09.19
✎
08:34
|
Проблема
|
|||
4
Pandoch
13.09.19
✎
09:47
|
никто не имел счастья интегрироваться с сервисами exchange?
|
|||
5
Cyberhawk
27.09.19
✎
14:26
|
Какая версия Иксченджа?
Мне предстоит смежная задача: массовое засасывание писем без привязки к данным аутентификации пользователя домена. |
|||
6
Cyberhawk
27.09.19
✎
14:29
|
Дело осложняется тем, что целевой Иксчендж - 2013, и OAuth с токенами там не работает.
Пока не вычитал, можно ли аутентифицироваться в EWS под какой-то одной-единственной "супер-учеткой" и засосать с ее помощью все письма всех нужных ящиков. |
|||
7
eklmn
гуру
27.09.19
✎
14:57
|
(4) дабы знаю эксченж, НИКОГДА бы не делал бы интеграцию с ним.
после каждой обновы у вас 100% будет все слетать. |
|||
8
Cyberhawk
27.09.19
✎
16:02
|
(7) Что там с EWS, можно ли, не используя Basic-аутентификацию (логин-пароль каждого пользователя домена), собирать почту каждого пользователя домена?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |