Здравствуйте. Сервер Creatio версии 7.18.2.1236 развёрнут на Astra Linux. Коллегами была настроена синхронизация пользователей AD – группы AD успешно импортировались в систему, а после этого была произведена успешная синхронизация орг. Роли с группой. В результате, во вкладку «Пользователи» были автоматически добавлены пользователи из группы LDAP. Настройка производилась по инструкции на Академии.

 

Однако, после настроек аутентификации – а именно, изменения файла «Terrasoft.WebHost.dll.config» (т.к. Creatio развёрнуто на Astra Linux), авторизация под учётными записями AD осталась недоступной. Следовали инструкциям по настройке. Просьба подсказать, в чём может быть проблема. Файл настройки «Terrasoft.WebHost.dll.config» прилагаю.



P.S. Есть так же отдельный сервер Creatio на Windows. Там синхронизация с AD и авторизация по учётным записям AD работают корректно (там авторизация настроена через файл конфигурации Web.config)

Прикрепленные файлы

Нравится

1 комментарий

Добрый день!

Попробуйте заменить Ldap на LdapProvider в следующих строках:<provider name="Ldap" type="Terrasoft.Authentication.Core.Ldap.NetStandardLdapProvider, Terrasoft.Authentication">

 

<auth providerNames="InternalUserPassword,Ldap"

 

Должно получится так:

<provider name="LdapProvider" type="Terrasoft.Authentication.Core.Ldap.NetStandardLdapProvider, Terrasoft.Authentication">

 

<auth providerNames="InternalUserPassword,LdapProvider"

 

Также убедитесь, что сервер приложения включён в домен сервера, где расположен AD.

Показать все комментарии

Добрый день.

Имеется 3 стенда, дев, тест, прод. На дев и на тест, синхронизацию с LDAP настроить получилось, пользователи подтянулись. Стенды дев и тест не в домене.

На прод стенде, синхронизация не работает, настройки такие же. Стенд прода включён в домен, домен тот же в котором находится AD.

Бизнес-процесс находится в статусе "Ошибка", содержание ошибки на скриншоте.Изображение удалено.Погуглив, предполагаю, что проблема связана с тем, что пул под которым работает сайт, запущен от пользователя у которого нет прав на доступ к AD.

Изображение удалено.Версия на стендах одинаковая.

Сталкивался ли кто-нибудь с такой ситуацией, какие могут быть пути решения?

Спасибо.

Нравится

2 комментария

По идее УЗ из под которой пул запускается не должна влиять на этот процесс.  Вы обращение в тех поддержку оставляли ?

 

Добрый день.

Если Ваш сайт развернут на Linux причина может быть в том, что  в Domain Name и groups domain name отсутствует поиск ещё OU (Organizational units).

Попробуйте добавить его и проверить воспроизведение проблемы.

 

Показать все комментарии

Возможно ли синхронизировать Creatio c несколькими доменами AD. Как я понимаю при заполнении формы создаётся БП, возможно можно его скопировать?Изображение удалено.

Нравится

4 комментария
Лучший ответ

Добрый день!

В базовой конфигурации приложения недоступна поддержка нескольких доменов при синхронизации пользователей из ActiveDirectory используя LDAP. Взаимодействие с несколькими доменами можно реализовать через SAML SSO - интеграция через ADFS доступна с версии 7.13 

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/up…

В этом варианте есть ключевая особенность, что пользователи попадают в приложение не при синхронизации, а при первом входе в приложение. Также, в качестве обходного решения, могу предложить синхронизировать между собой разные AD.

Добрый день!

В базовой конфигурации приложения недоступна поддержка нескольких доменов при синхронизации пользователей из ActiveDirectory используя LDAP. Взаимодействие с несколькими доменами можно реализовать через SAML SSO - интеграция через ADFS доступна с версии 7.13 

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/up…

В этом варианте есть ключевая особенность, что пользователи попадают в приложение не при синхронизации, а при первом входе в приложение. Также, в качестве обходного решения, могу предложить синхронизировать между собой разные AD.

Sorotiuk Anna,Добрый день.

 

ADFS на мой взгляд тут будет уместнее. У нас был кейс где были синхронизированы между собой AD . Но пользователи только из одного домена попадали в приложение.

Марк нестеров,

Добрый День!

Как настроить синхронизацию Creatio c несколькими доменами AD?

Муратбеков Нагашыбай,

Добрый день!

В базовой конфигурации приложения недоступна поддержка нескольких доменов при синхронизации пользователей из ActiveDirectory используя LDAP. Взаимодействие с несколькими доменами можно реализовать через SAML SSO - интеграция через ADFS доступна с версии 7.13 

https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/up…

В этом варианте есть ключевая особенность, что пользователи попадают в приложение не при синхронизации, а при первом входе в приложение. Также, в качестве обходного решения, могу предложить синхронизировать между собой разные AD.

Показать все комментарии

Пытаюсь добавить пользователя в разделе Администрирование.
Проверяю, что такого нет (фильтр)
выбираю из ActiveDirectory, привязываю из Контактов.
Получаю ошибку "Такой есть".
Где копать?

Нравится

2 комментария

Попробовал воспроизвести, сообщение такое же, но лишний пользователь при этом есть.
Может, там в имени буква не в том алфавите используется? Скриншот слишком мутный, не видно.

Если ничего не выяснится, можно провести отладку в функции GetIsMemberNameExists в scr_Access.

Спасибо за ответ.
Буква в алфавите - исключено, выбор пользователя осуществялется диалогом AD, данные от туда. Да и глазами я весь список посмотрел - нету его там.
скрин https://yadi.sk/i/2JWrZxfjmKYVz
Отладку попробую.

Показать все комментарии

Смысла вести дневник обо всем на свете особого не видел.
Но теперь, есть что имеет смысл выложить.
При импорте пользователя из АД в контакт копирутся его почта.

1. Необходимо выяснить ID типа средства связи для почты делается это запросом в SQL

SELECT ID
FROM tbl_CommunicationType
WHERE Name = 'E-mail'

2. Необходимо, на сервере разрешить выполнять команды с OpenRowset.

3. Изменить scr_DomainUsersUtils следующим образом:
После

ContactsDataset.Values('Name') = UserFullName;

Добавляется

ContactsDataset.Values('Communication1TypeID') = '{EmailID}';
ContactsDataset.Values('Communication1') = GetDomainContactMail(UserFullName);

Где EmailID - ID типа средства связи.

4. Добавить в scr_DomainUsersUtils следующую функцию:

function GetDomainContactMail(ContactName) {
         var Info = new ActiveXObject('ADSystemInfo');
         var Parameters = CreateSPParameters();
         var Email = CreateSPParameter(Parameters, 'Email', pdtGUID, '');
         Email.ParamType = 1;        
         var ComputerName = Info.ComputerName;
         var Index = ComputerName.match('DC').index;
         var Domain = ComputerName.substr(Index,ComputerName.length-1);
         var SQLCommand = 'select :Email = mail from OpenRowset(\'ADSDSOObject\' ';
         SQLCommand = SQLCommand + ',\'\',\'\/\/'+ Domain + '>;';
         SQLCommand = SQLCommand + '(objectCategory=Person);name,mail\')';
         SQLCommand = SQLCommand + ' where Name = \'' + ContactName + '\'';
         Connector.DBEngine.ExecuteCustomSQL(SQLCommand,Parameters);
         return Email.Value;
}

Нравится

Поделиться

0 комментариев
Показать все комментарии