Справка Business Studio
Переход на сайт нейросети Perplexity AI для поиска информации о Business Studio. Подробнее о возможности см. по ссылке

Содержание справки



Назначение UserMatchAttribute

После того как система находит пользователя в каталоге LDAP с помощью заданного фильтра (UserFilter), ей необходимо определить, какой именно атрибут из найденной записи будет использоваться в качестве уникального идентификатора пользователя (UserID) внутри Business Studio. За это отвечает параметр UserMatchAttribute.

Пример конфигурации appsettings.json:

"Ldap": {
  "UserFilter": "(&(objectCategory=person)(objectClass=user)(userPrincipalName={UserIdClaimValue}))",
  "UserMatchAttribute": "objectSid",
  "UserMatchAttributeIsStringValue": false
}

В данном примере поиск выполняется по атрибуту userPrincipalName, значение которого сопоставляется с UserIdClaimValue, полученным из токена аутентификации. Идентификатором пользователя в Business Studio станет objectSid найденной записи.

Параметр UserMatchAttributeIsStringValue указывает на то, как интерпретировать значение атрибута:

  • false — атрибут бинарный (как objectSid). Система конвертирует его в строковое представление SID вида S-1-5-21-….
  • true — атрибут строковый (как sAMAccountName, mail, userPrincipalName).

Зачем это нужно на практике:

  • Обеспечение работы прав доступа.
    В десктопном клиенте Business Studio права на ветки баз данных и горизонтальные права настраиваются для доменных пользователей и групп. В системе они хранятся с привязкой к SID. Если UserID пользователя в Business Studio не совпадает с его доменным SID, система не сможет сопоставить учетную запись, и назначенные права перестанут работать.
  • Сохранение настроек при изменении данных пользователя.
    Идентификатор objectSid в Active Directory остается неизменным, даже если пользователь сменил email или был переименован. Использование SID гарантирует, что все настройки прав сохранятся. Если бы в качестве UserID использовался email, то после его смены пользователь потерял бы доступ к своим правам и был бы создан в системе заново.