"SystemSettings": {
"DataSourceType": "0",
"Server": "",
"DataBase": "",
"UseCommonLogin": false,
"MaxPoolSize": 0,
"AppPoolTimeout": 300,
"UserName": "",
"Password": "",
"AuthSecretKey": "secret string for authenticate"
}
"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 |
Пароль подключения к БД. |
MaxPoolSize |
Размер пула на уровне драйвера. |
ConnectionTimeout |
Таймаут соединения, в секундах. По умолчанию - 15. |
CommandTimeout |
Таймаут выполнения команд, в секундах. 0 - бесконечный. |
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
.
"SqlClient": {
"Connection": "<строка соединения>",
"AppPoolSize": 0,
"AppPoolTimeout": 300,
"AppPoolTimeout": false,
"Traced": false
},
Пример строки соединения "Connection" для MSSQL базы:
"Connection": "Data Source Type=MSSQL; Data Source=ServerName; Initial Catalog=DataBaseName; User ID=user; Password=1; Max Pool Size=100;",
Пример строки соединения "Connection" для PostgreSQL базы:
"Connection": "Data Source Type=PostgreSQL; Host=127.0.0.1; Port=5434; Database=db1; User ID=user; Password=1; Maximum Pool Size=100;",
Расположение настроек кэша сохраняется в секции "SystemSettings".
Добавлена дополнительная секция "ListCache", которая переопределяет значение SystemSettings/SqlCache, и является настройкой кэша только для списка, а не глобальной.
"ListCache": {
"DataInSession": false,
"PoolTransactions": false,
"SqlCache": "<строка соединения>",
"Interval": 6000,
"UseDailyScheduler": true,
"DailyAtHourAndMinute": ["06:00", "21:00"]
},
Наименование | Описание |
---|---|
DataInSession |
Служебная настройка. Хранить данные в сеансовых таблицах. Рекомендуется false. Ключ на переходный период, чтобы можно было бы вернуться к прежней реализации. |
PoolTransactions |
Служебная настройка. Использовать DB-транзакции для пула соединений. |
SqlCache |
Строка соединения к SQL-кэшу. |
Interval |
Временной интервал очистки в секундах. |
UseDailyScheduler |
Флаг использования дневного расписания для очистки. |
DailyAtHourAndMinute |
Дневное расписание с указанием часов работы. |
Пример строки соединения "SqlCache" для SQLite базы кэша:
"SqlCache": "Data Source Type=SQLite; Data Source=.\\temp\\db\\wrk.db3",
Пример строки соединения "SqlCache" для PostgreSQL базы кэша:
"SqlCache": "Data Source Type=PostgreSQL; Host=127.0.0.1; Port=5434; Database=database; User ID=user; Password=; Application Name=cache; Maximum Pool Size=550; App Pool Size=500; CommandTimeout=60; ExpirationMode=absolute; ExpirationTimeout=36000",
Офисные редакторы могут автоматически освобождать оперативную память сервера (ОЗУ), переводя в спящий режим (выгружая на диск) неактивные открытые документы.
"DX": {
"EnableHibernation": true,
"HibernateTimeout": "00:05:00",
"HibernatedDocumentsDisposeTimeout": "00:30:00",
"HibernateAllDocumentsOnApplicationEnd": true
},
Наименование | Описание |
---|---|
EnableHibernation |
Включение гибернации |
HibernateTimeout |
Период до выгрузки документа из ОЗУ на диск |
HibernatedDocumentsDisposeTimeout |
Период до удаления выгруженного документа с диска |
HibernateAllDocumentsOnApplicationEnd |
Перевести в спящий режим все документы при добавлении |
"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 - Дневное расписание с указанием часов работы. |
"TempCleanerSettings": {
"Enabled": true,
"Period": "1.00:00:00",
"ObsolescencePeriod": "06:00:00",
"Path": "temp",
"SearchPattern": "*.*",
"SearchOption": "AllDirectories"
},
Наименование | Описание |
---|---|
Enabled |
true - включить; false - выключить |
Period |
Периодичность с которой запускается очистка. Значение 1.00:00:00 равно одному дню |
ObsolescencePeriod |
Период устаревания. Если с момента последнего доступа к файлу прошло более ObsolescencePeriod дней, то файл считается неактуальным и удаляется |
Path |
Относительный или абсолютный путь к каталогу для поиска. |
SearchPattern |
Строка поиска, которая должна сравниваться с именами файлов в Path |
SearchOption |
Значение перечисления, определяющее, следует ли выполнять поиск только в текущем каталоге или также во всех его подкаталогах |
"Authentication": {
"AuthenticationMethod": 1,
"OpenIdConnect": {
"Authority": "",
"ClientId": "",
"ClientSecret": "",
"Scope": [ "openid", "profile","offline_access" ],
"ValidateIssuerName": true,
"RemoteAuthenticationTimeout": "31.00:00:00"
},
"BuiltInJwtBearer":{
"SecurityAlgorithm": "HmacSha256",
"SecurityKey": "",
"PrivateKeyPemFile": "",
"PublicKeyPemFile": "",
"TokenLifetimeMinutes": 60
}
},
Наименование | Описание |
---|---|
AuthenticationMethod |
Метод аутентификации: 0 - DBMS (по старому); 1 - BuiltInJwtBearer; 2 - SingleUserJwtBearer; 3 - OpenIdConnect |
OpenIdConnect |
Настройки OpenID Connect для КС-ID: Authority - Адрес сервиса аутентификации.ClientId - идентификатор клиентского приложения (зарегистрированного в КС ID). ClientSecret - Секрет клиентского приложения (зарегистрированного в КС ID). Scope - [ \"openid\", \"profile\", \"offline_access\" ] - список запрашиваемых scope'ов (настраивается при регистрации в КС ID). ValidateIssuerName - true (см примечание п.2). |
BuiltInJwtBearer |
Настройки встроенного генератора JWT: SecurityAlgorithm - Алгоритм шифрования JWT: например, HmacSha256 или RsaSha256. SecurityKey - Ключ для симметричного алгоритма. PrivateKeyPemFile PublicKeyPemFile - Пути к файлам с ключами в формате PEM для асимметричного алгоритма. TokenLifetimeMinutes - Время жизни токена авторизации в минутах. |
["openid", "profile"]
. "offline_access"
- желателен к использованию, нужен для получения токена обновления (продление сессии пользователя без автоматического выхода и необходимости выполнения повторного входа)В Альфа-ID scope "offline_access"
не используется.
Настройки для подключения к удаленному серверу планировщика задач.
"TaskScheduler": {
"Url": "",
"Timeout": 100,
},
Наименование | Описание |
---|---|
Url |
Адрес подключения к сервису новостей. |
Timeout |
Таймаут подключения. |
"SafeListSettings": {
"SafeListEnabled": false,
"SafeList": ""
},
Наименование | Описание |
---|---|
SafeListEnabled |
Включение фильтрации IP адресов |
SafeList |
Список адресов IPv4 или IPv6, разделённых запятой или точкой с запятой, с которых разрешено подключение. Если необходимо запретить подключение с какого-либо адреса, перед нужным адресом ставят спецсимвол ~. Если список пуст, то подключение разрешено со всех адресов. Если в списке единственный символ ~, то подключение запрещено со всех адресов. |
Для работы Сервиса печати и сервиса ЭОД (при наличии).
Брокером очередей является RabbitMQ.
"MessageBroker": {
"Enabled": false,
"Traced": false,
"Address": "amqp://admin:1@127.0.0.1:5672"
},
Наименование | Описание |
---|---|
Enabled |
false - отключить работу с брокером; true - включить работу с брокером. |
Traced |
false - выключить трассировку в Jaeger; true - включить трассировку в Jaeger. |
Address |
Адрес подключения к брокеру очередей (RabbitMQ): amqp://логин>:<пароль>@<ip-адрес:<порт> |
"WebProxy": {
"Enabled": false,
"UseDefaultProxy": false,
"Address": "https://host:3128/",
"UserName": "",
"Password": "",
"BypassProxyOnLocal": false,
"BypassList": []
},
Наименование | Описание |
---|---|
Enabled |
false - отключить; true - включить. |
UseDefaultProxy |
false - не использовать системный прокси-сервер; true - использовать системный прокси-сервер. |
Address |
Адрес прокси-сервера. |
UserName |
Имя пользователя. |
Password |
Пароль пользователя. |
BypassProxyOnLocal |
false - не использовать прокси-сервер для локальных (внутрисетевых) адресов; true - использовать прокси-сервер для локальных (внутрисетевых) адресов. |
BypassList |
Список URI, доступ к которым осуществляется напрямую, а не через прокси-сервер. |
"NewsService": {
"Address": "",
"Timeout": 60
},
Наименование | Описание |
---|---|
Address |
Адрес подключения к сервису новостей. |
Timeout |
Таймаут подключения. |
"SystemSettings": {
"ErrorMonitoringURL": "",
"ErrorMonitoringToken": ""
}
"ErrorMonitoringService": {
"Url": "",
"Token": "",
"Timeout": 60
},
Наименование | Описание |
---|---|
Url |
Адрес подключения к сервису мониторинга: https://mon.keysystems.ru/ksmon/. |
Token |
Токен, выданный службой сопровождения. |
Timeout |
Таймаут подключения. |
"SystemSettings": {
"PathBase": ""
}
"ServiceSettings": {
"PathBase": ""
},
Наименование | Описание |
---|---|
PathBase |
Виртуальный каталог веб-приложения. |
"SystemSettings": {
"LoginAttemptsNumber_comment": "Число попыток ввода пароля до блокировки (0 - неограниченно)",
"LoginAttemptsNumber": 10,
"LoginLockPeriod_comment": "Время блокировки (сек)",
"LoginLockPeriod": 600,
"LoginLockNotify_comment": "Уведомлять администратора о блокировке. Используется для сообщения о блокировке IP при неудачных попытках",
"LoginLockNotify": false,
...
}
"LoginAttempt": {
"MaxAttempts":"5",
"Period":"300",
"UseXForwardedFor": null,
"IncorrectLoginTimeout": 1000
},
Наименование | Описание |
---|---|
MaxAttempts |
Количество попыток до блокировки учетной записи (допустимо от 3 до 10). |
Period |
Период блокировки повторных попыток, в секундах (допустимо от 180 до 3600 сек). |
UseXForwardedFor |
Учитывать заголовок X-Forwarded-For при блокировке учетной записи. Указать true при использовании обратного прокси на сервере. Значение null трактуется как true для linux-систем и false для windows-систем. |
IncorrectLoginTimeout |
Задержка между неудачными попытками входа под одной учетной записью, в миллисекундах. |
"SslPolicy" : {
"CheckRemoteCertificateHost": true,
"CheckRemoteCertificateAuthenticity": true
},
Наименование | Описание |
---|---|
CheckRemoteCertificateHost |
true - проверять удаленный узел сертификата; false - не проверять удаленный узел сертификата. |
CheckRemoteCertificateAuthenticity |
true - проверять подлинность удаленного сертификата; false - не проверять подлинность удаленного сертификата. |
"SystemSettings": {
"UseEmblem": false,
...
}
Наименование | Описание |
---|---|
UseEmblem |
true - отображать логотип или герб и название региона/госоргана в навигаторе; false - отображать логотип или герб и название региона/госоргана в навигаторе. |
Приведены доступные варианты настроек SQL кэша. По-умолчанию - SQLite.
"SystemSettings": {
"SqlCache": "Data Source Type=SQLite; Data Source=.\\temp\\db\\wrk.db3",
...
}
"SystemSettings": {
"SqlCache": "Data Source Type=PostgreSQL; Host=127.0.0.1; Port=5434; Database=cache; User ID=user; Password=0; Application Name=cache; Maximum Pool Size=550; App Pool Size=500;",
...
}
Подробнее о SQL кэше в разделе Кэширование.
Принцип хранения временных данных быстрого доступа [memory/redis/tarantool
]. все кроме memory
требует строки соединения.
"SystemSettings": {
"NoSqlCache": "memory",
...
}
"SystemSettings": {
"NoSqlCache": "redis: 127.0.0.1:6379, user=user, password=",
...
}
"SystemSettings": {
"NoSqlCache": "tarantool: user:@127.0.0.1:3301",
...
}
Подробнее о NoSQL кэше в разделе Кэширование.
Используемый для SessionStorage кеш (sql, nosql).
SessionStorage представляет собой временное хранилище информации, которая удаляется после закрытия браузера.
"SystemSettings": {
"SessionStorage": "sql",
...
}
"SystemSettings": {
"SessionStorage": "nosql",
...
}
Подробнее о SessionStorage в разделе Кэширование.
"SystemSettings": {
"AllowRecoveryPassword": "true",
...
}
"SystemSettings": {
"disabledUsers": "",
...
}
"SystemSettings": {
"AjaxConnectTimeout": 3600000,
...
}
"SystemSettings": {
"PacketSize_IL": 262144,
...
}
Без указания настройки используется X-Forwarded-For.
"SystemSettings": {
"CustomClientIPHeader": "",
...
}
Используется для отправки сообщений по внутренней почте.
"SystemSettings": {
"DbMailingAccountLogin": "",
"DbMailingAccountPassword": "",
...
}
Наименование | Описание |
---|---|
DbMailingAccountLogin |
Логин отправителя системных сообщений. |
DbMailingAccountPassword |
Пароль отправителя системных сообщений. |
"SystemSettings": {
"NumDaysWarnBeforeCertEnd": "",
...
}
Переопределяет значение из БД.
"SystemSettings": {
"AlternativeUploadService": "",
...
}
::: danger Функционал очень сильно нагружает сервер. :::
"SystemSettings": {
"PreviewPrimaryImage": true,
...
}
"SystemSettings": {
"AuthorizationType": 0,
"AuthorizationService": "",
"AuthorizationAccountLogin": "",
"AuthorizationAccountPassword": "",
...
}
Наименование | Описание |
---|---|
AuthorizationType |
0 - не используя сервис авторизации. 0 и указан сервис авторизации - 2 кнопки - авторизации по сертификату(с СА) и по логину/паролю(без СА). 1 - 1 кнопка - авторизации по логину/паролю(с СА). 2 - 0 кнопок - авторизации по сертификату(с СА) автоматически сразу. 3 - 2 кнопки - авторизации по сертификату(с СА) и по логину/паролю(с СА). 4 - 0 кнопок - авторизации через ЕСИА. 5 - 3 кнопки - авторизации по сертификату(с СА), по логину/паролю(с СА) и через ЕСИА. 6 - 0 кнопок - авторизация через ЕСИА многопользовательский логин. |
AuthorizationService |
URL сервиса авторизации. |
AuthorizationAccountLogin |
Используется для создания пользователя в базу из СА, для восстановления пароля. Логин менеджера авторизации. |
AuthorizationAccountPassword |
Пароль менеджера авторизации. |
"SystemSettings": {
"AppLocale": "ru-RU",
...
}
Активируется по /?pg=admin.
https://yourwebsite/pathbase/?pg=admin
"SystemSettings": {
"AdminCPLogin": "admin",
"AdminCPPassword": "admin",
"AdminCPAllowedIP": "192.168.0.0/8,10.0.0.0/8",
"AllowRemoteAdministration": "1",
...
}
Наименование | Описание |
---|---|
AdminCPLogin |
Имя пользователя администратора (произвольный логин, не привязан к рабочей БД). |
AdminCPPassword |
Пароль администратора. |
AdminCPAllowedIP |
IP по которым разрешена форма админского входа. Пример: 192.168.0.0/24,10.0.0.0/8. |
AllowRemoteAdministration |
Удаленное администрирование: 0 - разрешено с исключениями, по умолчанию; 1 - разрешено; 2 - запрещено. |
Административные ключи менять которые зачастую не нужно.
Могут быть изменены для поиска ошибок.
"SystemSettings": {
"AppServer": "",
"CacheStorageType": 3,
"SettingsCheckInterval": "",
"SchemaCheckInterval": "",
"ConnectionType": "SignalR",
"debugState": "on",
"ServiceSchemaURL": "",
...
}
Наименование | Описание |
---|---|
AppServer |
|
CacheStorageType |
3. |
SettingsCheckInterval |
Интервал обновления настроек документа. |
SchemaCheckInterval |
Интервал обновления схемы документ. |
ConnectionType |
SignalR. |
debugState |
Вид отображения ошибок. values=(system/off/on). |
ServiceSchemaURL |
"SystemSettings": {
"pAdmName": "mc",
"pAdmPass": "",
"UserRegisterLogin": "",
"UserRegisterPass": ""
...
}
Наименование | Описание |
---|---|
pAdmName |
Имя админимтратора ПОРТАЛА. |
pAdmPass |
Пароль админимтратора ПОРТАЛА. |
UserRegisterLogin |
Пользователь для регистрации пользователей (для торгов). |
UserRegisterPass |
Пароль пользователь для регистрации пользователей (для торгов). |
Ссылка на руководство пользователя в "Меню - Справка и поддержка".
"HelpAndSupportInfo": {
"UserManualUrl": ""
}