Skip to content

Конфигурация appsettings.json

Настройки СУБДSqlClient

json
"SqlClient": {
  "DataSourceType": "",
  "Server": "",
  "DataBase": "",
  "UserName": "",
  "Password": "",
  "MaxPoolSize": 0,
  "ConnectionTimeout": 15,
  "CommandTimeout": 3600,
  "AppPoolSize": 0,
  "AppPoolTimeout": 300,
  "PoolTransactions": false,
  "Traced": false
},
НаименованиеОписание
DataSourceTypeТип источника СУБД.
0 - MSSQL,
3 - PostgreSQL.
ServerИмя сервера.
DataBaseИмя базы данных.
UserNameИмя пользователя подключения к БД.
PasswordПароль подключения к БД.
AppPoolSizeРазмер пула на уровне приложения (максимальное число одновременно открытых соединений). Отрицательные значения и ноль (по умолчанию) отключают этот пулинг; рекомендуется задавать значение меньше, чем Maximum Pool Size (например, Maximum Pool Size = 350, App Pool Size = 300).
AppPoolTimeoutТаймаут получения соединения из пула на уровне приложения, в секундах. По умолчанию - 300.
PoolTransactionsИспользовать транзакции для пула соединений драйвера.
TracedТрассировать sql-запросы (OpenTelemetry).

Или можно использовать специализированную строку соединения Connection, которая дублирует группу ключей:

DataSourceType, Server, DataBase, UserName, Password, MaxPoolSize, ConnectionTimeout, CommandTimeout.

json
"SqlClient": {
  "Connection": "<строка соединения>",
  "AppPoolSize": 0,
  "AppPoolTimeout": 300,
  "PoolTransactions": false,
  "Traced": false
},

Пример строки соединения "Connection" для MSSQL базы:

json
"Connection": "Data Source Type=MSSQL; Data Source=ServerName; Initial Catalog=DataBaseName; User ID=user; Password=1; Max Pool Size=100; Command Timeout=3600",

Пример строки соединения "Connection" для PostgreSQL базы:

json
"Connection": "Data Source Type=PostgreSQL; Host=127.0.0.1; Port=5434; Database=db1; User ID=user; Password=1; Maximum Pool Size=100; Command Timeout=3600",

Полезно:

Настройка сервиса конфигурацийHttpConfiguration

json
  "HttpConfiguration": {
    "Enabled": false,
    "Key": "web-next-dbadmin/appsettings",
    "ReloadOnChange": true,
    "HttpClientConfiguration": {
      "Address": "http://localhost:5121"
    }
  },
НаименованиеОписание
EnabledОбязательное поле для включения конфигурации.
true - включить;
false - выключить.
KeyКлюч.
ReloadOnChangeПерезагружать при изменении.
HttpClientConfigurationКонфигурация Http-клиента.
AddressАдрес сервиса конфигурации http (по kestrel порту).

OpenTelemtry

json
  "Tracer": {
    "Enabled": false,
    "Exporter_comment": "Console|Zipkin|Jaeger",
    "Exporter": "Console|Jaeger",

    "Jaeger_comment": "Jaeger exporter",
    "Jaeger": {
      "AgentHost": "localhost",
      "AgentPort": 6831
    },

    "Zipkin_comment": "Zipkin exporter",
    "Zipkin": {
      "Endpoint": "http://localhost:9411/api/v2/spans"
    }
  },
НаименованиеОписание
Tracertrue - включить;
false - выключить.
ExporterИспользуемые экспортеры метрик:
Console
Zipkin
Jaeger.
JaegerНастройки экспорта Jaeger.
AgentHostХост.
AgentPortПорт.
ZipkinНастройки экспорта Zipkin.
EndpointIp-адрес.

Сервис-IDMScim

json
  "Scim": {
    "Enabled": false,
    "AuthBasic": "login:password"
  },
НаименованиеОписание
Enabledtrue - включить;
false - выключить.
AuthBasicЛогин:пароль для basic-аутентификации.

Настройки для фоновых служб очистки SYS-таблицSysCleaner

json
  "SysCleaner":
  {
    "Mode": 3,
    "Connections": [],
    "ScheduleDateSettings":
    {
      "Interval": 0,
      "UseDailyScheduler": true,
      "DailyAtHourAndMinute" : ["03:00"]
    },
    "ScheduleRidSettings":
    {
      "Interval": 300,
      "UseDailyScheduler": false,
      "DailyAtHourAndMinute" : ["01:00"]
    }
  },
НаименованиеОписание
ModeРежим работы для фоновой службы:
1 - строки подключения из коллекции Connections;
2 - динамическое добавление в коллекцию очистки при создании подключения;
3 - оба варианта.
ConnectionsСтроки подключения к БД, для очистки
ScheduleDateSettingsНастройка расписания для фоновой службы очистки SYS-таблиц по дате:
Interval - Временной интервал очистки в секундах.
UseDailyScheduler - Флаг использования дневного расписания для очистки, по умолчанию true.
DailyAtHourAndMinute - Дневное расписание с указанием часов работы.
ScheduleRidSettingsНастройка расписания для фоновой службы очистки SYS-таблиц по RID:
Interval - Временной интервал очистки в секундах.
UseDailyScheduler - Флаг использования дневного расписания для очистки, по умолчанию false.
DailyAtHourAndMinute - Дневное расписание с указанием часов работы.

Настройки автоудаления содержимого TEMPTempCleanerSettings

json
  "TempCleanerSettings": {
    "Enabled": true,
    "Period": "1.00:00:00",
    "ObsolescencePeriod": "06:00:00",
    "Path": "temp",
    "SearchPattern": "*.*",
    "SearchOption": "AllDirectories"
  },
НаименованиеОписание
Enabledtrue - включить;
false - выключить.
PeriodПериодичность запуска очистки (первый запуск при старте сервиса, далее с периодом Period).
Значение 1.00:00:00 равно одному дню.
ObsolescencePeriodПериод устаревания. Если с момента последнего доступа к файлу прошло более ObsolescencePeriod дней, то файл считается неактуальным и удаляется.
PathСписок каталогов (относительно BaseDirectory) в которых необходимо удалять устаревшие файлы.
SearchPatternШаблон поиска файлов.
SearchOptionОпции поиска:
0 - TopDirectoryOnly (только текущий каталог),
1 - AllDirectories (текущий и все подкаталоги).
                                                                                                                                                                                                                                                                                                   |

Настройки аутентификацииAuthentication

Метод аутентификации AuthenticationMethod

  • 0 - DBMS (по старому);
  • 1 - BuiltInJwtBearer;
  • 2 - SingleUserJwtBearer;
  • 3 - OpenIdConnect.
json
  "Authentication": {
    "AuthenticationMethod": "0",
    "BuiltInJwtBearer":{
      "SecurityKey": "bwdC&YiKXcPWt^lREtnckN!hiQ8Dw%H8"
    }
  },

Настройки OpenID Connect для КС-IDOpenIdConnect

Для КС ID необходим Scope = [ \"openid\", \"profile\", \"offline_access\" ]

json
  "Authentication": {
    "AuthenticationMethod": 3,
    "BuiltInJwtBearer": {
      "SecurityKey": "bwdC&YiKXcPWt^lREtnckN!hiQ8Dw%H8"
    },
    ...   
    "OpenIdConnect": { 
      "Authority": "", 
      "ClientSecret": "", 
      "ClientId": "", 
      "Scope": [ "openid", "profile", "offline_access" ], 
      "ValidateIssuerName": true, 
      "RemoteAuthenticationTimeout": "31.00:00:00"
    }, 
    ...
  },
НаименованиеОписание
AuthorityАдрес сервиса аутентификации.
ClientSecretСекрет клиентского приложения (зарегистрированного в КС ID).
Scope[ \"openid\", \"profile\", \"offline_access\" ] - список запрашиваемых scope'ов (настраивается при регистрации в КС ID).
ValidateIssuerNametrue (см. примечание п.2).

Примечание OpenIdConnect для KC-ID

  1. Обязательные значения "Scope": ["openid", "profile"]. "offline_access" - желателен к использованию, нужен для получения токена обновления (продление сессии пользователя без автоматического выхода и необходимости выполнения повторного входа).
  2. "ValidateIssuerName" - издатель токена должен соответствовать 1:1 с адресом, указанным в секции "Authority" (если в токене будет издатель https://test1.ru:443/ а в "Authority" https://test1.ru/ - это будет считаться ошибкой).

Примечание OpenIdConnect для Альфа-ID

В Альфа-ID scope "offline_access" не используется.

Настройки встроенного генератора JWTBuiltInJwtBearer

json
"Authentication": {
    "AuthenticationMethod": 1,
    "BuiltInJwtBearer":{ 
      "SecurityAlgorithm": "HmacSha256", 
      "SecurityKey": "", 
      "PrivateKeyPemFile": "", 
      "PublicKeyPemFile": "", 
      "TokenLifetimeMinutes": 60
    }, 
    ...           
}
НаименованиеОписание
SecurityAlgorithmАлгоритм шифрования JWT: например, HmacSha256 или RsaSha256.
SecurityKeyКлюч для симметричного алгоритма.
PrivateKeyPemFile
PublicKeyPemFile
Пути к файлам с ключами в формате PEM для асимметричного алгоритма.
TokenLifetimeMinutesВремя жизни токена авторизации в минутах.

Фильтрация IP-адресовSafeListSettings

json
  "SafeListSettings": {
    "SafeListEnabled": false,
    "SafeList": ""
  },
НаименованиеОписание
SafeListEnabledВключение фильтрации IP адресов:
true - включить;
false - выключить.
SafeListСписок адресов IPv4 или IPv6, разделённых запятой или точкой с запятой, с которых разрешено подключение.
Если необходимо запретить подключение с какого-либо адреса, перед нужным адресом ставят спецсимвол ~.
Если список пуст, то подключение разрешено со всех адресов.
Если в списке единственный символ ~, то подключение запрещено со всех адресов.

Настройка проксиWebProxy

json
  "WebProxy": {
    "Enabled": false,
    "UseDefaultProxy": false,
    "Address": "https://host:3128/",
    "UserName": "",
    "Password": "",
    "BypassProxyOnLocal": false,
    "BypassList": []
  },
НаименованиеОписание
Enabledfalse - отключить;
true - включить.
UseDefaultProxyfalse - отключить;
true - включить.
AddressАдрес прокси-сервера.
UserNameИмя пользователя.
PasswordПароль пользователя.
BypassProxyOnLocalfalse - не использовать прокси-сервер для локальных (внутрисетевых) адресов;
true - использовать прокси-сервер для локальных (внутрисетевых) адресов.
BypassListСписок URL, доступ к которым осуществляется напрямую, а не через прокси-сервер.

Настройки сервиса новостейNewsService

json
  "NewsService": {
    "Address": "",
    "Timeout": 60
  },
НаименованиеОписание
AddressАдрес подключения к сервису новостей.
TimeoutТаймаут подключения.

Сервис мониторинга ошибокErrorMonitoringService

json
  "ErrorMonitoringService": {
    "Url": "",
    "Token": "",
    "Timeout": 60
  },
НаименованиеОписание
UrlАдрес подключения к сервису мониторинга: https://mon.keysystems.ru/ksmon/
TokenТокен, выданный службой сопровождения.
TimeoutТаймаут подключения.

Настройка пути для реверс проксиServiceSettings

json
  "ServiceSettings": {
    "PathBase": ""
  }
НаименованиеОписание
PathBaseВиртуальный каталог веб-приложения.

Разрешать сбрасывать парольAllowRecoveryPassword

json
  "SystemSettings": {
    "AllowRecoveryPassword": "true", 
    ...
  }

Запрещенные для входа пользователиdisabledUsersd

json
  "SystemSettings": {
    "disabledUsers": "", 
    ...
  }

Размер пакета в байтах при отправке файла на серверPacketSize_IL

json
  "SystemSettings": {
    "PacketSize_IL": 262144
    ...
  }

Пользовательский заголовок содержащий IP в Request для схем со шлюзамиCustomClientIPHeader

json
  "SystemSettings": {
    "CustomClientIPHeader": "", 
    ...
  }

Уведомлять о об истечении срока клиентского сертификата (за ... дней)NumDaysWarnBeforeCertEnd

json
  "SystemSettings": {
    "NumDaysWarnBeforeCertEnd": "", 
    ...
  }

Настройки сервиса авторизации (СА)Authorization

json
  "SystemSettings": {
    "AuthorizationType": 0, 
    "AuthorizationService": "", 
    "AuthorizationAccountLogin": "", 
    "AuthorizationAccountPassword": "", 
    ...
  }
НаименованиеОписание
AuthorizationType0 - не используя сервис авторизации.
0 и указан сервис авторизации - 2 кнопки - авторизации по сертификату(с СА) и по логину/паролю(без СА).
1 - 1 кнопка - авторизации по логину/паролю(с СА).
2 - 0 кнопок - авторизации по сертификату(с СА) автоматически сразу.
3 - 2 кнопки - авторизации по сертификату(с СА) и по логину/паролю(с СА).
4 - 0 кнопок - авторизации через ЕСИА.
5 - 3 кнопки - авторизации по сертификату(с СА), по логину/паролю(с СА) и через ЕСИА.
6 - 0 кнопок - авторизация через ЕСИА многопользовательский логин.
AuthorizationServiceURL сервиса авторизации.
AuthorizationAccountLoginИспользуется для создания пользователя в базу из СА, для восстановления пароля. Логин менеджера авторизации.
AuthorizationAccountPasswordПароль менеджера авторизации.

Настройка языка приложенияAppLocale

json
  "SystemSettings": {
    "AppLocale": "ru-RU", 
    ...
  }

Страница админского входаAdmin

Активируется по /?pg=admin.

https://yourwebsite/pathbase/?pg=admin

json
  "SystemSettings": {
    "AdminCPLogin": "admin", 
    "AdminCPPassword": "admin", 
    "AdminCPAllowedIP": "192.168.0.0/8,10.0.0.0/8", 
    "AllowRemoteAdministration": "1", 
    ...
  }
НаименованиеОписание
AdminCPLoginИмя пользователя администратора (произвольный логин, не привязан к рабочей БД).
AdminCPPasswordПароль администратора.
AdminCPAllowedIPIP по которым разрешена форма админского входа.
Пример: 192.168.0.0/24,10.0.0.0/8.
AllowRemoteAdministrationУдаленное администрирование:
0 - разрешено с исключениями, по умолчанию;
1 - разрешено;
2 - запрещено.

Административные ключи

json
  "SystemSettings": {
    "AppServer": "",
    "CacheStorageType": 3,
    "SettingsCheckInterval": "600",
    "SchemaCheckInterval": "3600",
    "ConnectionType": "SignalR",
    "debugState": "on",
    "ServiceSchemaURL": "",
    ...
  }
НаименованиеОписание
AppServerСервер приложений.
CacheStorageTypeТип хранилища кэша.
SettingsCheckIntervalИнтервал обновления настроек документа.
SchemaCheckIntervalИнтервал обновления схемы документ.
ConnectionTypeТип соединения.
debugStateВид отображения ошибок. values=(system/off/on).

© 2003—2026 ООО «Кейсистемс». Все права защищены.