Show/Hide Toolbars

Руководство по тех. обслуживанию

Описание ключей appsettings.json

Ссылки Назад Вверх Вперед

term_icon Файл appsettings.json в веб-сервере .NET Core — это файл конфигурации приложения, используемый для хранения параметров конфигурации, различных настроек, любых глобальных переменных области приложения и т. д.

В интерфейсе файл доступен для просмотра в разделе Файлы приложения режима администрирования.

Ключ

 

Описание и примеры

Можно указать как в секции, так и в корне файла

Logging

LogLevel

Настройки логирования по уровням. Возможные варианты:

Trace

Debug

Information

Warning

Error

Critical

None

"Logging": {

         "LogLevel": {

         "Default": "Information",

         "Microsoft": "Warning",

         "Microsoft.Hosting.Lifetime": "Information",

         "UniForm.Api.Authentication.JwtAuthenticationHandler": "None"

         }

 }

 

Server

IsMainServer

Главный сервер. Сервер заданий по таймеру. Чтобы на сервере запускались задания по таймеру ключ IsJobServer должен принимать значение true. Тогда при старте приложения будет запускаться механизм джобов.

Если ключ IsJobServer не указан, то задания будут запускаться на сервере с ключем IsMainServer.

vh-done-v1

IsJobServer

ActiveDirectoryAuthenticationMode

Для аутентификации через ActiveDirectory может быть установлен ключ ActiveDirectoryAuthenticationMode. Возможные значения: DirectoryServices, ldap, PrincipalContext. Значение по умолчанию — ldap.

DirectoryServices — библиотека "system.directoryservices" (только для AD).

PrincipalContext — "System.DirectoryServices.AccountManagement", более высокоуровневая библиотека (только для AD). Необходимо выбрать значением для ActiveDirectoryAuthenticationMode,, если в лесе ActiveDirectory используются одноименные учетные записи.

ldap — "Novell.Directory.Ldap" — библиотека, работающая по протоколу LDAP. Работает как с AD, так и для других LDAP-серверов (к примеру, OpenLDAP).

 

AllowedHosts

В качестве значения указывается список имен хостов, разделенных точкой с запятой, без номеров. Символ "*" позволяет разрешить все хосты.

"AllowedHosts": "*"

 

Auth

AuthTokenLoginUrl

Токен авторизации

vh-done-v1

WinAuthHost

Включение win-аутентификации

"WinAuthHost": "IIS"

 

AuthTokenExpiresInMinutes

Срок жизни access-токена в минутах. Значение по умолчанию — 25 часов.

warning_icon В интерфейсе SPA спустя указанное время потребуется повторная авторизация в системе.

vh-done-v1

AuthRefreshTokenExpiresInMinutes

Срок жизни refresh-токена в минутах. Если значение не задано, время жизни refresh-токена составляет 30 дней.

vh-done-v1

AuthTokenRefreshStrategy

Стратегия обновления токенов. Возможные значения:

SlidingExpiration — автоматическое обновление токенов с периодичностью в зависимости от времени жизни.

None — обновление не предусмотрено, при истечении времени access-токена требуется повторная авторизация.

RefreshToken — используются refresh-токены (обновление токенов с помощью api-метода api/auth/token/refresh). По умолчанию время жизни refresh-токена —  30 дней, если не задано иное в ключе AuthRefreshTokenExpiresInMinutes.

Пример включения refresh-токенов:

"AuthTokenRefreshStrateg": "RefreshToken"

vh-done-v1

AuthTokenRefreshPeriodInMinutes

Период обновления refresh-токена в минутах.

vh-done-v1

AuthTempTokenExpiresInMinutes

Время жизни временного access-токена с ограниченными разрешениями, выдается при смене пароля.

vh-done-v1

ConcurrentSessionMinLengthInMinutes

Минимальная продолжительность активной сессии в минутах для конкурентной лицензии.

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

В ключе ConcurrentSessionMinLengthInMinutes можно задать время активной сессии.

Проверка конкурентного доступа происходит при каждом веб-запросе.

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

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

Для оптимизации используется кеш ConcurrentSessionsExpirationCache.

Если в кеше ConcurrentSessionsExpirationCache есть дата Expires, и она еще не наступила, проверка лицензии будет пропущена.

Если дата Expires наступила, запрашивается конкурентный доступ: если есть свободная сессия, пользователь продолжает работу. В кеш кладется значение Expires выданной сессии из колонки dbo.UserSessions.Expires.

vh-done-v1

LDAPSearchBase

База поиска LDAP, должна быть конифгурируема

vh-done-v1

UseSecureLDAP

Использование SSL при аутентификации через LDAP. По умолчанию включено.

warning_icon Актуально, если ActiveDirectoryAuthenticationMode не указан, т.е. LDAP является значением по умолчанию

vh-done-v1

AuthUseInsecureCookies

Разрешает использование небезопасных (не secure) файлов cookie для аутентификации.

Возможные значения: true (разрешено) / false (запрещено).

Значение по умолчанию — false.

warning_icon Рекомендуется устанавливать ключ в значение true только в том случае, если приложение "Первая Форма" работает по протоколу http. Для работы приложения через https разрешение использования может не соответствовать требованиям безопасности.

 

 

Application

RebusLoggerType

Настройка типа вывода логирования Rebus (Console, NLog)

Если настройка не указана, то Rebus не будет ничего выводить в консоль. Возможные значения:

None

Console

NLog

"Application": {

         "RebusLoggerType": "None"

 }

 

RebusLogLevel

Настройки логирования Rebus по уровням. В зависимости от выставленного значения работает разный уровень детализации журнала сообщений. Возможные значения:

None

Debug

Info

Warn

Error

"Application": {

         "RebusLogLevel": "Debug"

 }

Значения являются накопительными, например: если установлено значение Debug, оно будет включать в себя значения Error, Warn, Info и Debug.

 

ApplicationInstanceId

Название очереди. Необходимо уникальное название для корректной работы с шиной сообщений

vh-done-v1

MessageBus

Провайдер сообщений. Возможные значения:

None

Redis

RebusSQL

RebusPostgre

"Application": {

         "MessageBus": "RebusSQL"

 }

vh-done-v1

DefaultIsolationLevel

Указание IsolationLevel для приложения. Возможные значения:

Serializable = 0

RepeatableRead = 1

ReadCommitted = 2 (по умолчанию)

Snapshot = 4

Chaos = 5

Unspecified = 6

"Application": {

         "DefaultIsolationLevel": 2

 }

 

SmartApi

(Устаревшее)

BaseUrl

Адрес хоста

vh-done-v1

Key

Ключ

vh-done-v1

CodeMigrationsIsEnabled

Указывает, будут ли проводиться миграции или нет.

Возможные значения: true (будут проведены миграции) / false (не будут проведены миграции)

 

CreateTasksForAppointments

Если календарная встреча создается в "Первой Форме", создается задача в календарной категории и запись в таблице Appointments.

Если календарная встреча создается в Exchange, то в "Первой Форме" создается запись в таблице Appointments, а соответствующая задача в системной календарной категории может создаваться или не создаваться. Будет ли создаваться такая задача, определяет ключ CreateTasksForAppointments – если он имеет значение false, задача в системном календаре не создается, если true — создается. По умолчанию задача в "Первой Форме" создается, но чтобы ускорить синхронизацию, этот режим можно отключить.

 

DecodeEdsSignatures

Валидация подписи ЭЦП.

Возможные значения: true (проводить валидацию) / false (не проводить валидацию)

 

DisableSqlShell

В интерфейсе администрирования "Первой Формы" можно включить возможность работы напрямую с SQL. Это определяет ключ disableSQLShell. Если ключ имеет значение true, то в разделе Интерфейс недоступен пункт Выполнить SQL-запрос, а в редакторе смарт-выражений не отображается кнопка В TSQL. При попытке отредактировать хранимую процедуру будет возникать ошибка 403.

По умолчанию возможность работать с SQL напрямую из интерфейса системы отключена.

 

DisableAllCachesUpdate

Отключение автоматического запуска обновления кэша после импорта конфигурации.

Возможные значения: true (Отключено) / false (Включено).

 

DontUseGetMachineIPForLog

Не использовать IP-адрес в журнале.

Возможные значения: true (не использовать) / false (использовать).

 

EnableRemovalOfUnusedFiles

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

warning_icon Если тестовый сервер использует рабочие ("боевые") файловые провайдеры, то включать данный ключ в appsettings.json на тестовом сервере не рекомендуется. В противном случае файлы, удаленные в тестовом приложении в процессе тестирования, будут удалены также и в рабочем приложении.

 

ExcludeAdSubdomains

Исключенные поддомены. Могут использоваться, например, для построения дерева поддоменов, синхронизации с AD, поиска и тд.

 

ExchangeTraceListenerFlags

Флаги должны быть заданы в конфиге, если их нет, то трейсы от запросов к Exchange не собираем (см. enum TraceFlags — множество возможных вариантов)

 

FilesExtensionsToNotCache

Позволяет задать типы файлов, которые не следует кэшировать. Расширения файлов указываются в строку через запятую.

 

FilesCacheSize

Позволяет задать максимальный размер кэша, выделяемый для файлов. Значение указывается в МБ.

"FilesCacheSize": "500"

 

LicenseKey

Принудительная установка ключа лицензии

 

IgnoreDomainCheck

Отключает разрешенные домены, что позволяет подключаться с любого доменного имени.

Возможные значения: true (включено) / false (отключено).

 

InvalidateUsersCacheByEvent

Включает обновление UsersCache по сигналу от мастер сервера.

Возможные значения: true (включено) / false (отключено).

warning_icon По умолчанию выключен, не рекомендуется к использованию

 

IsCachingDisabled

Указывает, отключено ли кэширование

Возможные значения: true (отключено) / false (не отключено)

 

IsDevelopmentMode

Отключает кодовые миграции.

Возможные значения: true (отключено) / false (не отключено).

 

IsExchangeSyncServer

Синхронизации встреч из Exchange. Принимает значение true или false. Ключ определяет сервер, который будет устанавливать соединения с Exchange и принимать от него уведомления.

 

Multifactor

IsEnabled

Включение Мультифактора.

Возможные значения: true (включено) / false (отключено).

По умолчанию включено.

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

 

Host

Адрес хоста, где должен быть включен/отключен Мультифактор

 

Use404Logger

Логирование ошбки 404  в лог автоматизации.

Возможные значения: true (включено) / false (отключено).

"Use404Logger": true

 

DisableAQB

Отключение AspQueryBuilder.

Возможные значения: true (отключено) / false (включено).

"DisableAQB": false

 

MaxRequestLength

Длина запроса (ограничение размер загружаемых файлов)

"MaxRequestLength": "650000000"

Значение задается в байтах. Если ключ не задан, значение по умолчанию = int.MaxValue (2147483647) = 2 Гб

 

MultipartBodyLengthLimit

Ограничение длины составного тела. Ограничивает размер каждой части multipart POST-запроса.

Значение задается в байтах. Если ключ не задан, значение по умолчанию — 134 217 728 байт (≈128 МБ)

 

OpenLDAPProtocolVersion

Версия протокола LDAP. Если не задана, значение по умолчанию — 3.

 

PhoneProfileLocation

Идентификатор локации телефонии. Необязательный параметр, используется только у клиентов с несколькими разными контурами "Первой формы".

 

ProviderType

Тип провайдера

"ProviderType": "SAML",

   "Name": "1forma.net (ADFS)",

   "Id": {providerId}

 

R7

SecretKey

Ключ для работы с Р7 сервером. Минимальная длина ключа — 16 символов.

"R7": {

       "SecretKey": "yourSecretKey"

   }

 

RemovalOfUnusedFilesBatchCount

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

"RemovalOfUnusedFilesBatchCount": "300000"

где 300 000 — это максимальное число файлов.

warning_icon  Перед внесением изменений рекомендуется сделать резервную копию всех файловых провайдеров и основной БД.

 

RestrictAbsenceMessageForAll

Ограничить сообщение об отсутствии для всех.

 

SetCookieForUpperLevelDomain

Ключ SetCookieForUpperLevelDomain определяет, для какого домена будет задана cookie 1FormaAuth — для домена верхнего уровня (значение true) либо для полного доменного имени (false).

Если ключ не указан в приложении, то по умолчанию считается, что для cookie задается полный домен.

Имеет смысл, если настроены несколько серверов, например, https://win.myDomain.ru и https://forms.myDomain.ru.

См. Настройка аутентификации по токенам.

 

Telemetry

EnableTracing

Включение трассировки.

Возможные значения: true (включено) / false (отключено).


EnableMetrics

Включение сбора метрик.

Возможные значения: true (включено) / false (отключено).


OtlpEndpoint

Конечная точка, через которую приложение отправляет метрики, трассировки и журналы (логи) для сбора и обработки в формате open-telemetry.

По умолчанию: http://localhost:4317

 

Urls

Адреса приложения

 

UseClassicEncodeInComments

Использовать классическоую кодировку в комментариях.  Возможные значения: true/false.

 

UseDevexpressDocToPdfConverter

Использовать DevExpress для конвертации doc-файлов в pdf.

Возможные значения: true (использовать) / false (не использовать).

 

UseExchangeAutodiscover

Использовать службу автообнаружения Exchange Server.  Возможные значения: true (использовать) / false (не использовать).

 

UseHacksForMailSending

Использование хаков при отправке писем. Например: проверка, нужно ли кодировать тему письма и т.д.

Возможные значения: true (использовать) / false (не использовать).

 

UseTransactionOnTaskSynchronization

Использовать транзакцию при синхронизации задач. Возможные значения: true (использовать) / false (не использовать).

 

UseSpaPortals

Включить использование новых порталов в старом фронте.

Возможные значения: true (включено) / false (отключено).

 

UsePostgreSQLDatabase

Указывает, используется ли база данных PostgreSQL или нет.

Возможные значения: true (используется PostgreSQL) / false (не используется PostgreSQL)

 

WinToFormsRedirectFormsUrl

Настройка редиректа с Windows на forms приложение.

Значение ключа "WinToFormsRedirectFormsUrl": базовый адрес приложения с forms-аутентификацией.

Значение ключа "WinToFormsRedirectWinUrl": базовый адрес win-приложения.

"WinToFormsRedirectFormsUrl": "https://forms.myDomain.ru"

"WinToFormsRedirectWinUrl": "https://win.myDomain.ru"

 

WinToFormsRedirectWinUrl

Полезные ссылки