Что определяет |
Ключ или тег |
Описание и примеры |
||
---|---|---|---|---|
Конфигурация |
<configSections> |
|||
Соединение с БД |
< connectionStrings configSource="_localConfig\localConnectionStrings.config" /> |
|||
Имперсонирование пользователя |
impersonate |
Для работы в режиме однократной синхронизации почтового клиента необходимо, чтобы была включена Windows-авторизация, а также режим имперсонирования: <identity impersonate="true" /> |
||
Ключ фермы |
machineKey |
Требуется для SingleSignOn между серверами "Первой Формы" и/или приложениями (например, "Первой Формой" и Личным кабинетом). <machineKey validationKey="xxx" decryptionKey="xxx" validation="SHA1" decryption="AES" /> |
||
Настройки авторизации |
authentication |
Аутентификация Windows (Active Directory): <authentication mode="Windows"/> Аутентификация Forms (через БД сайта) Начиная с версии 2.184: тега authentication быть не должно. См. Настройка аутентификации по токенам. До версии 2.184: <authentication mode="Forms"> |
||
Редирект для разных доменных имен |
SetCookieForUpperLevelDomain |
Ключ SetCookieForUpperLevelDomain определяет, для какого домена будет задана cookie 1FormaAuth — для домена верхнего уровня (значение true) либо для полного доменного имени (false). <add key="SetCookieForUpperLevelDomain" value="true"/> Если ключ не указан в приложении, то по умолчанию считается, что для cookie задается полный домен. Имеет смысл, если настроены несколько серверов, например, https://win.myDomain.ru и https://forms.myDomain.ru. |
||
Настройка сессии |
sessionState |
По умолчанию <sessionState mode="Off" /> (все остальные атрибуты у sessionState можно удалить) Но если в приложении развернут модуль опросов, то <sessionState mode="InProc" /> |
||
Отдача контейнеров мобильных приложений, а также вызов отчетов FastReport из контекста задачи |
TaskCenter.iOSClientServices.API |
В зависимости от используемого протокола для корректной отдачи контейнеров мобильного приложения в файле web.config необходимо выставить соответствующий параметр в секции Если передача ведется по протоколу https: <service name="TaskCenter.iOSClientServices.API"> Если передача ведется по протоколу http, то параметр bindingConfiguration="secureHttpBinding" не нужен, и строка имеет вид: <service name="TaskCenter.iOSClientServices.API"> <endpoint address="" behaviorConfiguration="TaskCenter.iOSClientServices.APIAspNetAjaxBehavior" binding="webHttpBinding" contract="TaskCenter.iOSClientServices.API" /> </service> |
||
Путь к Swagger для тестирования API |
ApplicationPath |
В секции <appSettings> можно указать путь к Swagger: <add key="ApplicationPath" value="https://адрес-приложения-1Форма" /> В этом случае обращение к Swagger будет идти по адресу: https://адрес-приложения-1Форма/swagger/ui/index/ Если ключ не указан, то адрес будет браться из параметра "Путь к приложению" в Общих настройках приложения. |
||
Сервер заданий по таймеру |
IsJobServer |
Чтобы на сервере запускались задания по таймеру, в секции <appSettings> должен быть ключ <add key="IsJobServer" value="true"/> Тогда при старте приложения будет запускаться механизм джобов. Если ключ IsJobServer не указан, то задания будут запускаться на сервере с ключем IsMainServer |
||
Задания по удалению неиспользуемых файлов |
EnableRemovalOfUnusedFiles RemovePreparedFileStorageFilesJob |
Чтобы работали задания по таймеру, отвечающие за удаление неиспользуемых файлов, в секции <appSettings> должен быть ключ <add key="EnableRemovalOfUnusedFiles" value="true"/>
Чтобы ограничить время выполнения самого длительного задания (RemovePreparedFileStorageFilesJob), можно указать максимальное число файлов, которое оно может обработать за один запуск: <add key="RemovalOfUnusedFilesBatchCount" value="300000"/> где 300 000 — это максимальное число файлов.
|
||
Создание задач для календарных встреч из Exchange (при включенной синхронизации) |
CreateTasksForAppointments |
Если календарная встреча создается в "Первой Форме", создается задача в календарной категории и запись в таблице Appointments. Если календарная встреча создается в Exchange, то в "Первой Форме" создается запись в таблице Appointments, а соответствующая задача в системной календарной категории может создаваться или не создаваться. Будет ли создаваться такая задача, определяет ключ CreateTasksForAppointments – если он имеет значение false, задача в системном календаре не создается, если true — создается. По умолчанию задача в "Первой Форме" создается, но чтобы ускорить синхронизацию, этот режим можно отключить.
<appSettings> |
||
Доступность прямой работы с SQL из интерфейса администрирования |
disableSQLShell |
В интерфейсе администрирования "Первой Формы" можно включить возможность работы напрямую с SQL. Это определяет ключ disableSQLShell: Если ключ имеет значение true, то в разделе Интерфейс недоступен пункт Выполнить SQL-запрос, а в редакторе смарт-выражений не отображается кнопка В TSQL. При попытке отредактировать хранимую процедуру будет возникать ошибка 403. <appSettings> По умолчанию возможность работать с SQL напрямую из интерфейса системы отключена. |
||
Минимальная продолжительность активной сессии в минутах для конкурентной лицензии |
ConcurrentSessionMinLengthInMinutes |
После авторизации в системе пользователь попадает в список активных сессий. Время сессии по умолчанию — 1 минута, обновляется и увеличивается с активностью пользователя. После отсутстивия активности в системе конкурентная лицензия высвобождается. В ключе ConcurrentSessionMinLengthInMinutes можно задать время активной сессии: <add key="ConcurrentSessionMinLengthInMinutes" value="1" /> Проверка конкурентного доступа происходит при каждом веб-запросе. Чем больше значение указано в ключе, тем больше времени понадобится для освобождения лицензии при закрытой вкладке. В то же время, чем меньше значение указано, тем быстрее происходит распределение сессий. Если в запросе приходит признак, что вкладка неактивна, конкурентный доступ не проверяется, и сессия не продлевается — соответственно, другой пользователь может занять лицензию. Для оптимизации используется кеш ConcurrentSessionsExpirationCache. Если в кеше ConcurrentSessionsExpirationCache есть дата Expires, и она еще не наступила, проверка лицензии будет пропущена. Если дата Expires наступила, запрашивается конкурентный доступ: если есть свободная сессия, пользователь продолжает работу. В кеш кладется значение Expires выданной сессии из колонки dbo.UserSessions.Expires. |
||
Режим аутентификации в ActiveDirectory |
ActiveDirectoryAuthenticationMode |
Для аутентификации через ActiveDirectory в секции appSettings может быть установлен ключ ActiveDirectoryAuthenticationMode. Возможные значения: DirectoryServices, ldap, PrincipalContext. Значение по умолчанию — ldap •DirectoryServices — библиотека "system.directoryservices" (только для AD). •PrincipalContext — "System.DirectoryServices.AccountManagement", более высокоуровневая библиотека (только для AD). Необходимо выбрать значением для ActiveDirectoryAuthenticationMode,, если в лесе ActiveDirectory используются одноименные учетные записи. •ldap — "Novell.Directory.Ldap" — библиотека, работающая по протоколу LDAP. Работает как с AD, так и для других LDAP-серверов (к примеру, OpenLDAP). |
||
Обновление кэшей через БД |
ApplicationInstanceId |
Для задания имени инстанса в секции appSettings необходим ключ ApplicationInstanceId. Его значение (имя инстанса) должно быть уникальным для каждого инстанса приложения. <add key="ApplicationInstanceId" value="web_1901" />
|
||
Сигнализация для обновления кешей через БД |
MessageBus UseSqlServerBus |
Ключ MessageBus определяет очередь сообщений. Возможные значения: None, Redis (устаревшее), RebusSQL (по умолчанию). При старте приложения "Первая Форма" соответствующая очередь сообщений Rebus очищается. Чтобы работала сигнализация для обновления кешей, в секции appSettings ключ UseSqlServerBus должен быть установлен в значение true. Чтобы выключить Rebus, значение UseSqlServerBus должно быть явно задано как false |
||
Быстрая регистрация модулей приложения |
ExperimentalEnableOptimizedRegistration |
Для быстрой регистрации модулей при старте приложения в секции appSettings ключ ExperimentalEnableOptimizedRegistration должен быть установлен в значение true.
|
||
Обновление пользовательского кеша по сигналу от мастер-сервера |
InvalidateUsersCacheByEvent |
Чтобы включить обновление UsersCache по сигналу от мастер сервера, в секции appSettings ключ InvalidateUsersCacheByEvent должен быть установлен в значение true.
|
||
Скачивание файлов одним архивом (групповая обработка в табличном представлении категории) |
<dependentAssembly> Эти настройки должны присутствовать начиная с версии 2.232 |
|||
Запуска Rebus на Postgre |
PostgreQueueInterval |
По умолчанию 120 секунд |
||
Тип БД |
UsePostgreSQLDatabase |
В зависимости от БД переключается секция defaultConnectionFactory PostgreSQL: <defaultConnectionFactory type="Npsql.NpgsqlConnectionFactory, EntityFramework6.Npgsql" SQL Server: <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="v11.0" /> </parameters> </defaultConnectionFactory> </entityFramework> |
||
SSL при LDAP аутентификации |
UseSecureLDAP |
Использование SSL при аутентификации через LDAP. По умолчанию включено.
|
||
Кэширование |
IsCachingDisabled
|
Указывает, отключено ли кэширование Возможные значения: true (отключено) / false (не отключено) <appSettings> |
||
Миграции |
CodeMigrationsIsEnabled |
Указывает, будут ли проводиться миграции или нет. Возможные значения: true (будут проведены миграции) / false (не будут проведены миграции) <appSettings> |
||
DefaultIsolationLevel |
MigrationIsolationLevel |
Указание IsolationLevel для приложения. Возможные значения: •Serializable •RepeatableRead •ReadCommitted (рекомендуется) •Snapshot •Chaos •Unspecified <appSettings> |
||
Обновление кэша при импорте конфигурации |
DisableAllCachesUpdate |
Отключение автоматического запуска обновления кэша после импорта конфигурации. Возможные значения: true (Отключено) / false (Включено) <appSettings> |
||
Обновление токенов аутентификации |
AuthTokenRefreshStrategy |
Стратегия обновления токенов. Возможные значения: •SlidingExpiration (значение по-умолчанию) — автоматическое обновление токенов с периодичностью в зависимости от времени жизни. •None — обновление не предусмотрено, при истечении времени access-токена требуется повторная авторизация. •RefreshToken — используются refresh-токены (обновление токенов с помощью api-метода api/auth/token/refresh). <add key="AuthTokenRefreshStrategy" value="None" /> |
||
Срок действия RefreshToken |
AuthRefreshTokenExpiresInMinutes |
Время жизни refresh-токена в минутах. Указывается, если в ключе "AuthTokenRefreshStrategy" установлено значение "RefreshToken". По умолчанию время жизни refresh-токена — 30 дней. <appSettings> |
||
Срок действия AccessToken |
AuthTokenExpiresInMinutes |
Время жизни access-токена в минутах. <appSettings> |
||
Отключение AspQueryBuilder |
DisableAQB |
Чтобы отключить AspQueryBuilder, в секции appSettings ключ DisableAQB должен быть установлен в значение true. <appSettings> |
||
Включение Мультифактора |
MultifactorIsEnabled |
Чтобы включить Мультифактор, ключ MultifactorIsEnabled должен быть установлен в значение true. По умолчанию включено. Двухфакторная аутентификация через систему MULTIFACTOR активируется в настройках системы. Подробнее о настройке мультифактора. |
||
MultifactorHost |
Адрес хоста, где должен быть включен/отключен Мультифактор |
|||
Размер загружаемых файлов |
MaxRequestLength |
Длина запроса (ограничение размер загружаемых файлов) Если ключ не задан, значение по умолчанию = int.MaxValue (2147483647) = 2 Гб |
||
Ограничение длины тела файла |
MaxAllowedContentLength |
Максимальная допустимая длина содержимого. Максимальное значение — 4 294 967 295 байт, что примерно равно 3,99 ГБ. |
||
Отключение разрешенных доменов |
IgnoreDomainCheck |
Для отключения разрешенных доменов, что позволяет подключаться с любого доменного имени, ключ IgnoreDomainCheck быть установлен в значение true. |
||
Использование небезопасных cookie для аутентификации. |
AuthUseInsecureCookies |
Разрешает использование небезопасных (не secure) файлов cookie для аутентификации. Возможные значения: true (разрешено) / false (запрещено). Значение по умолчанию — false.
|
||
Интеграция с LDAP |
OpenLDAPProtocolVersion |
Версия протокола LDAP. Если не задана, значение по умолчанию — 3. |
||
Брендирование |
IsSpaHost |
Запускает генерацию SPA-файлов брендирования в папку локальной файловой системы. По умолчанию true. Если ключ указан в значении false, то генерация брендированных статических файлов запускаться не будет. <appSettings> |
||
Доступность интерфейса SPA |
EnableSpaSettings |
Чтобы в пользовательском и администраторском интерфейсах "Первой Формы" были доступны элементы интерфейса SPA, ключ EnableSpaSettings должен быть установлен в значение true. <appSettings> |
||
Карточка задачи |
UseNewMTF |
Чтобы шапка карточки задачи отображалась в новом дизайне (заказчик, срок и исполнитель в одну строку, под ними категория и текст), нужно установить ключ UseNewMTF в значение true. Если ключ UseNewMTF установлен в значение false или не определен, будет отображаться старый дизайн (слева столбец с основными параметрами и их значениями, справа — текст задачи).
|
||
UseNewMTFStyle |
Чтобы отображалась карточка задачи с новой лентой комментариев и перепиской, нужно установить ключ UseNewMTFStyle в значение true. Если ключ UseNewMTFStyle установлен в значение false или не определен, будет отображаться старый дизайн (лента комментариев внизу).
|
|||
Порталы |
UseSpaPortals |
Чтобы включить использование новых порталов в старом фронте, нужно установить ключ UseSpaPortals в значение true |
||
Профиль пользователя |
UseSPAProfilePage |
В интерфейсе SPA для просмотра профиля пользователя используется ссылка ~/spa/user/profile/{userid}. В старом интерфейсе по умолчанию используется ссылка ~/UserInfo.aspx?UserID={userid}. Чтобы включить переадресацию со старого профиля на новый, нужно включить ключ UseSPAProfilePage. Если UseSPAProfilePage установлен в значение true, то переадресация выполняется, если UseSPAProfilePage установлен в значение false или не определен — переадресация не выполняется |
||
Страница авторизации |
UseSpaLoginPage |
Чтобы использовать страницу авторизации, адаптированную для интерфейса SPA, нужно установить ключ UseSpaLoginPage в значение true |
||
Размер кэша файлов |
FilesCacheSize |
Позволяет задать максимальный размер кэша, выделяемый для файлов. Значение указывается в МБ. <add key="FilesCacheSize" value="1024" /> |
||
Файлы, которые не нужно кэшировать |
FilesExtensionsToNotCache |
Позволяет задать типы файлов, которые не следует кэшировать. Расширения файлов указываются в строку через запятую: <add key="FilesExtensionsToNotCache" value="docx,ppt,xlsx" /> |
||
Иерархия задач |
useNewHierarchy |
Чтобы использовать новую иерархию задач, нужно установить ключ useNewHierarchy в значение 1 |
Также настройки web.config можно посмотреть в разделах:
•конфигурирование аутентификации по токенам