Было бы удобно если бы можно было выбирать в какие поля делать синхронизацию, к примеру через выпадающий список.

Такая идея появилась когда оказалось что в компании у нас ФИО латинскими буквами а имя и фамилия поля русскими. Заказчику нужно ФИО в системе на русском, и потому при каждом обновлении приходится переписывать стандартную логику что бы подменять ее и получать поля (одно кидается в ФИО а второе в рабочий телефон, а потом склеивается в ФИО)

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

Здравствуйте, Александр!

Передали данное пожелание команде разработки для анализа возможности внедрения такой возможности в будущих версиях продукта.

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

Добрый день! У нас настроена интеграцию с AD (через LDAP) и также включена у пользователей аутентификация через LDAP. Возникла следующая проблема: при изменении ФИО контакта эти данные после автоматической синхронизации с LDAP "презатираются". Каким образом можно отключить такое переименование у некоторых Контактов? Спасибо!

Нравится

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

У меня 2 инсталляции. Заметил такую особенность. В одной пользователи создаются автоматом из Ldap. В этой инсталляции всегда переименовывается ФИО как в AD.

Во второй инсталляции я Контакты и пользователей создавал вручную и подвязывал к каждому пользователю имя из AD. В этой инсталляции ФИО не меняется, хотя все остальные данные (должность, активность) меняются. Разница настроек в том, что в первой инсталляции у меня связь с группами на уровне Оргролей, а во второй связь только на уровне пользователя.

Может будет полезно. А вообще сейчас я переписываю синхронизацию с LDAP под себя.

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

Проблема заключается в том что в LDAP имя и фамилия латиницей указаны отдельно а в displayName указаны латинице. Пользователи хотят видеть кирилицу.

Можно ли в поле "ФИО" совместить через меню настройки LDAP синхронизации два атрибута или там только один может быть?

Нравится

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

Нет, один атрибут синхронизируется с одним полем.

Если всё же планируете разобраться и что-то переделать в механизме синхронизации с LDAP, см. эту и эту темы.

Зверев Александр,

Спасибо. Так и реализовано сейчас, через кастомизацию, и как подметил 

Мотков Илья при каждом обновлении приходится проводить адаптацию кода так как он меняется в этом пакете при каждом обновлении

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

Вопрос:

Настраивал аутентификацию через LDAP. Дошел до параметра, где есть возможность сделать сквозную авторизацию, установил нужный параметр, но при переходе на страницу портала все равно запрашивает запрашивает логин  и пароль  в виде аутентификации windows:

Если ввести данные один раз, то они сохраняются в кэше до перезапуска браузера.

Как решить вопрос с отображением окна доменной авторизации?

Ответ:

При первом входе в приложение браузер запрашивает доменный логин/пароль (см. рис. выше). Это связано с тем, что браузер по умолчанию не отправляет учетные данные текущего пользователя, и для доступа к ресурсу, требующего windows-авторизацию, идет каждый раз запрос доменных данных.

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

  • Internet Explorer

Браузер IE по умолчанию отправляет учетные данные ресурсу и дополнительный ввод логина/пароля не требуется.

  • Google Chrome

Переходим в настройки интернета на вкладку Security, выбираем Internet Zone и жмем на Custom Level.

Далее в самом низу выбираем User Authentication -> Logon -> Automatic logon with current user name and password.

Если мы не хотим настраивать для всех сайтов — можем добавить определенный адрес в доверенные (Trusted Sites) и для этой зоны выполнить соответствующие настройки.
Если сайт локальный, такие же настройки делаем для локальной зоны.

  • Firefox
  1. Запустите Firefox и в адресной строке введите about:config и нажмите ENTER.
  2. В строке фильтров укажите ключевой слово NTLM, в результате чего перед вами останется три параметра, нас интересует параметр   network.automatic-ntlm-auth.trusted-uris.
  3. Двойной  клик по данному параметру откроет окно с текстовым полем, куда можно внести список URL (через запятую), для которых будет поддерживаться автоматическая сквозная NTLM аутентификация. Формат такой: http://project-tc, https://work.bpmonline.com. Если необходимо добавить все сайты в домене (обычно это внутренний корпоративный домен), нужно указать: .bpmonline.com.

* Если окошко авторизации постоянно появляется при работе, вышеуказанные настройки выполнены, а ввод авторизационных данных не дает результатов (после ввода данных окошко появляется вновь и вновь), то необходимо открыть в браузере Developer Tools (Google Chrome) и посмотреть в секции Network последний запрос на сервер (причина окошка авторизации) перед появлением окошка. В таком примере был запрос вида /0/ServiceModel/MsgUtilService.svc/LogInMsgServer, и проблема решилась после очистки системной настройки "Библиотека обмена сообщениями по умолчанию".

 

* * To enable support for the WebSocket Protocol on Windows Server 2012, use the following steps:

1.Open Server Manager.

2.Under the Manage menu, click Add Roles and Features.

3.Select Role-based or Feature-based Installation, and then click Next.

4.Select the appropriate server, (your local server is selected by default), and then click Next.

5.Expand Web Server (IIS) in the Roles tree, then expand Web Server, and then expand Application Development.

6.Select WebSocket Protocol, and then click Next.

7.If no additional features are needed, click Next.

8.Click Install.

9.When the installation completes, click Close to exit the wizard.

Нравится

Поделиться

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

Добрый день!

Несколько справочных полей контакта сделали обязательными и теперь при синхронизации с LDAP не добавляются новые сотрудники, т.к. данное поле нельзя указать в настройках синхронизации с LDAP. Возможно кто-то сталкивался с этим и знает как добавить поля? 

Нравится

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

В таких случаях нужно делать поля обязательными на уровне страницы, а не объекта.

Зверев Александр,

Александр, вы имеете в виду через бизнес правило на странице? А если поле должно быть обязательно всегда?

В коде страницы, свойство isRequired атрибута.

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

Добрый день!

На странице настройки синхронизации с LDAP одно из обязательных полей [Уникальный идентификатор пользователя]. По умолчанию заполняется значением ObjectSid. У меня возник вопрос: значения данного атрибута из AD хранятся где-нибудь в системе BPM Online? Если да, то в каком объекте и в каком поле. Насколько я понял, данные о пользователе AD хранятся в системе в объекте LDAPElement.

Нравится

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

Добрый день, Дмитрий.

Верно, это значение хранится в таблице LDAPElement - колонка LDAPEntryId.

Антон Малий,

Антон, добрый день! А подскажите, поле LDAPEntryDN в каком случае заполняется и как настроить его заполнение, если оно пустое?

Добрый день, Дмитрий.

В LDAPEntryDN хранится полный путь к пользователю в AD. Оно заполняется автоматически при синхронизации. Пустым оно не должно быть, так как по этому пути BPM ищет пользователя в AD.

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

Кейс:

Есть список контактов в системе

настроена интеграция с ЛДАП люди аторизуются все вроде ничего.

добавили учетку в ЛДАП с фио как в контактах и при синхронизации с лдап создалась учетная запись в BPM но мало того так еще и создался контакт одноименный

теперь у меня 2 одинаковых контакта что есть неверно.

Как настроить интеграцию с ЛДАП чтоб при попадание УЗ в BPM не создавались контакты а использовались те что уже есть.

р.ы. нельзя изменить процесс сперва контакты создаются в BPM

а учетка в ЛДАП потом.

Нравится

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

Добрый день, Алексей.

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

Антон Малий,

 

bpm'online service enterprise 7.11.0.3122

если это было обновлено то как можно только часть отвечающую за интеграцию с ЛДАП обновить ?

Добрый день, Алексей.

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

P.S. В любом случае рекомендуем обновиться до актуальной версии - 7.12.1. В новых релизах исправлены некоторые ошибки и добавлен новый функционал.

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

Коллеги, добрый день.
Хотел уточнить есть ли возможность загрузки фото сотрудников в bpm'online sales enterprise при синхронизации с каталогами LDAP?

Нравится

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

Здравствуйте, Роман

На данный момент в механизме синхронизации с LDAP нет возможности синхронизации фото сотрудников с приложением bpmonline.

В свою очередь я зарегистрировал Ваше пожелание и передал аналитикам продукта на рассмотрение актуальности и возможности реализации данного функционала в будущих версиях приложения.

Denys Diachenko, Денис спасибо! 
Может есть другие методы решения этого вопроса или все-таки придётся добавлять фото вручную? 

Роман Никулин,

на данный момент в приложении нет возможности решить такую задачу базовыми средствами приложения и также мы не имеем примеров решения такой задачи. Как обходные решения, могу Вам предложить либо ручное обновление записей либо Вы можете самостоятельно доработать функционал синхронизации с LDAP используя нашу документацию по разработке по ссылке https://academy.terrasoft.ru/documents/technic-sdk/7-11/dokumentaciya-p…

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

Добрый день.

Настраиваю интеграцию с LDAP, не происходит импорт пользователей, только групп. Опытным путём выяснил что проблема в последнем фильтре "Фильтрация пользователей группы Active Directory". Скрипт который указан в родной документации не работает.

Посоветуйте какой фильтр в нём можно применять. Например если у всех пользователей sAMAccountType=805306368 можно ли его там использовать?

Нравится

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

Добрый день, Иван.

Фильтр, указанный в документации правильный - это родной фильтр MS. Он может не отрабатывать, если в качестве синхронизируемых объектов указывается орг.единица, а не директория. В таком случае можно использовать в фильтре любой общий атрибут для пользователей, если его нет - создать такой для них.

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

Добрый день, Коллеги!

1. На community видел упоминание что есть инструкция как влючить логирование синхронизации с LDAP кто может, прошу поделится.

2. При добавлении пользователя через синхронизацию с LDAP пользователь помешается в группу "Все сотрудники компании", как коректно отключить этот механизм мне надо чтоб пользователь был только в тех группах с которыми он синхронизирован через LDAP?

3. Есть учетка в LDAP числится в нужной группе которая синхронизирована с организационной ролью BPM другие учетки есть а этой нет. Куда копать?

 

установка он сайт.

Нравится

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

Здравствуйте, Алексей

По Вашим вопросам:

1. Настройка логирования LDAP

  1. Открываем файл log4net.config в папке <site>/Terrasoft.WebApp
  2. Находим фильтр:

                                <filter type="log4net.Filter.LoggerMatchFilter">

                                                <loggerToMatch value="Terrasoft.Core.LDAP" />

                                                <acceptOnMatch value="false" />

                                </filter>

Если данный фильтр отсутствует, то добавляем. Пример:

<?xml version="1.0" encoding="utf-8"?>

<log4net>

                <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">

                                <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

                                <connectionString value="Data Source=#SQLServer#; Initial Catalog=syslog; Persist Security Info=True; MultipleActiveResultSets=True; User ID=svc-log4net; Password=FoaFkplBSl0Iqqdbo2a7fj6JfdyE1jmu; Pooling = true; Max Pool Size = 100" />

                                <commandText value="INSERT INTO [dbo].[log4net] ([Date],[Host],[Site],[Thread],[Level],[Logger],[User],[Message],[Exception]) VALUES (@log_date, @log_host, @log_site, @log_thread, @log_level, @log_logger, @log_user, @log_message, @log_exception)" />

                                <bufferSize value="1" />

                                <filter type="log4net.Filter.LoggerMatchFilter">

                                                <loggerToMatch value="Terrasoft.Core.LDAP" />

                                                <acceptOnMatch value="false" />

                                </filter>

                                <parameter>

                                                <parameterName value="@log_date" />

                                                <dbType value="DateTime" />

                                                <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />

                                </parameter>

  1. Находим атрибут appender

                <appender name="ldapAppender" type="log4net.Appender.RollingFileAppender">

                                <file type="log4net.Util.PatternString">

                                                <converter>

                                                                <name value="AspNet" />

                                                                <type value="log4net.Util.PatternStringConverters.AspNetPatternConverter,log4net.Util.PatternStringConverters" />

                                                </converter>

                                                <conversionPattern value="${TEMP}\BPMonline\Site_%AspNet{SiteId}\%AspNet{ApplicationPath}\Log\" />

                                </file>

                                <appendToFile value="true" />

                                <rollingStyle value="Date" />

                                <datePattern value="yyyy_MM_dd'\\LDAP.log'" />

                                <staticLogFileName value="false" />

                                <layout type="log4net.Layout.PatternLayout">

                                                <conversionPattern value="%date [%thread] %-5level %username %logger %method - %message%newline" />

                                </layout>

                </appender>

Если не находим, то добавляем. Пример:

                </appender>

                <appender name="ldapAppender" type="log4net.Appender.RollingFileAppender">

                                <file type="log4net.Util.PatternString">

                                                <converter>

                                                                <name value="AspNet" />

                                                                <type value="log4net.Util.PatternStringConverters.AspNetPatternConverter,log4net.Util.PatternStringConverters" />

                                                </converter>

                                                <conversionPattern value="${TEMP}\BPMonline\Site_%AspNet{SiteId}\%AspNet{ApplicationPath}\Log\" />

                                </file>

                                <appendToFile value="true" />

                                <rollingStyle value="Date" />

                                <datePattern value="yyyy_MM_dd'\\LDAP.log'" />

                                <staticLogFileName value="false" />

                                <layout type="log4net.Layout.PatternLayout">

                                                <conversionPattern value="%date [%thread] %-5level %username %logger %method - %message%newline" />

                                </layout>

                </appender>

                <root>

                                <level value="WARN" />

                                <appender-ref ref="AdoNetAppender" />

                </root>

  1. Находим атрибут logger

                <logger name="Terrasoft.Core.LDAP" >

                                <level value="ALL" />

                                <appender-ref ref="ldapAppender" />

                </logger>

и устанавливаем  уровень логирования в ALL, вместо INFO или DEBUG

Если не находим, то добавляем. Пример:

                <root>

                                <level value="WARN" />

                                <appender-ref ref="AdoNetAppender" />

                </root>

                <logger name="Terrasoft.Core.LDAP" >

                                <level value="ALL" />

                                <appender-ref ref="ldapAppender" />

                </logger>

</log4net>

 

2. Если имеется ввиду то что, к примеру, создается пользователь (Администратор) который должен получить роль "Системные администраторы" а получает дополнительно роль "Все сотрудники компании" - то это корректное поведение приложения так как по логиге пользователь получает все родительские роли полученной роли, а так как роль системных администраторов является дочерней ролью Всех сотрудников компании то это правильно.

 

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

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