Конфигурация файлов
Файл конфигурации config.json
Для работы сервера приложений PGHS необходимо, чтобы в директории сервера приложений присутствовал файл конфигурации config.json. Файл конфигурации содержит 3 раздела:
Описатель «app», где можно определить базовые настройки сервера:
{
"app": {
"port": "8888"
},
Атрибут |
Тип |
Описание |
|---|---|---|
port |
Строка |
Определяет номер сетевого порта, на котором будет запущен сервер (по умолчанию - 8889) |
Описатель «XRAD», где определяются настройки для работы с БД XRAD:
"XRAD": {
"login": "xrad_user",
"password": "xrad_user",
"host": "127.0.0.1",
"port": 5432,
"minCons": 1,
"maxCons": 5,
"dbName": "xraddb"
}
Параметр |
Тип |
Описание |
|---|---|---|
login |
Строка |
Имя пользователя для подключения к базе данных XRAD. |
password |
Строка |
Пароль пользователя для подключения к базе данных XRAD. |
host |
Строка |
IP-адрес сервера базы данных XRAD. |
port |
Число |
Номер порта, на котором работает сервер базы данных XRAD. |
dbName |
Строка |
Имя базы данных, к которой требуется подключиться XRAD. |
minCons |
Число |
Минимальное количество открытых соединений с базой данных. |
maxCons |
Число |
Максимальное количество одновременных соединений с базой данных. |
Описатель «datasources» определяет массив источников данных, используемых сервером приложений.
Например, в следующем блоке определяется несколько источников данных для разных типов подключений:
"datasources":[
{
"name": "DEFAULT_APP",
"dbType": "postgresql",
"login": "app_user",
"password": "app_user",
"host": "127.0.0.1",
"port": 5432,
"minCons": 1,
"maxCons": 15,
"dbName": "pghs",
"runtimeOptions": {
"LC_NUMERIC": "ru_RU.UTF-8"
}
},
{
"name": "ORACLE",
"dbType": "oracle",
"login": "admin",
"password": "admin",
"host": "127.0.0.1",
"port": 1521,
"minCons": 1,
"maxCons": 15,
"dbName": "xora",
"runtimeOptions": {
"NLS_NUMERIC_CHARACTERS": "', '"
},
"connOptions": {
"ssl": "true"
}
},
{
"name": "MS_SQL",
"dbType": "mssql",
"login": "admin",
"password": "admin",
"host": "127.0.0.1",
"port": 1433,
"minCons": 1,
"maxCons": 5,
"dbName": "xdac_db",
"runtimeOptions": {
"DATEFORMAT": "dmy"
},
"connOptions": {
"encrypt": "true"
}
},
{
"name": "MYSQL",
"dbType": "mysql",
"login": "admin",
"password": "admin",
"host": "127.0.0.1",
"port": 3306,
"minCons": 1,
"maxCons": 15,
"dbName": "employees",
"connOptions": {
"compress": "false"
}
},
{
"name": "FirebirdDB",
"login": "admin",
"password": "admin",
"host": "127.0.0.1",
"dbType": "firebird",
"port": 3050,
"minCons": 1,
"maxCons": 5,
"dbName": "/data/reddb/xadmin.fdb"
}
]
Параметр |
Тип |
Описание |
|---|---|---|
name |
Строка |
Имя источника данных. Должно соответствовать имени источника определенному в приложении XRAD. |
dbType |
Строка |
Тип источника данных. Возможные значения: postgresql, mssql, oracle, firebird. |
login |
Строка |
Имя пользователя для подключения к базе данных XRAD. |
password |
Строка |
Пароль пользователя для подключения к базе данных XRAD. |
host |
Строка |
IP-адрес сервера базы данных XRAD. |
port |
Число |
Номер порта, на котором работает сервер базы данных XRAD. |
dbName |
Строка |
Имя базы данных, к которой требуется подключиться XRAD. |
minCons |
Число |
Минимальное количество открытых соединений с базой данных. |
maxCons |
Число |
Максимальное количество одновременных соединений с базой данных. |
runtimeOptions |
Объект |
Перечень параметров сессии которые должны быть установлены после создания нового подключения к БД. Используется для установки значений через ALTER SESSION для ORACLE или PostgreSQL, и для установки значений через SET для MSSQL. |
connOptions |
Объект |
Перечень параметров используемых для подключения к БД. Используется только для установки дополнительных параметров для подключения к БД типа Oracle, MSSQL и Mysql. |
Файл конфигурации схем аутентификации auth_config.json
Сервер приложений PGHS поддерживает аутентификацию и авторизацию с использованием следующих схем:
Microsoft LDAP
Microsoft Kerberos SSO
LDAP
Kerberos SSO
Open ID Connect
При разработке приложения в конструкторе XRAD разработчик определяет возможные схемы аутентификации посредством указания имени схемы и ее типа. При старте сервер приложений PGHS загружает схемы из файла auth_config.json и сопоставляет их по имени и типу с параметрами в БД XRAD.
Файл auth_config.json содержит массив описателей схем аутентификации следующего формата:
[
{
"name": "",
"type": "",
"options": {}
}
]
«name» - строка. Имя схемы аутентификации.
«type» – строка. Тип схемы аутентификации.
Поддерживаемые значения:
ldap
kerberos_sso
microsoft_ldap
microsoft_kerberos_sso
oidc
«options» – блок параметров схемы, который зависит от типа схемы.
LDAP, MICROSOFT_LDAP
Для типа схемы ldap и microsoft_ldap блок «options» описывает параметры подключения к LDAP-серверу, которые используются для аутентификации и получения информации о пользователях.
«host» – строка. IP-адрес LDAP-сервера.
«port» – число. Порт, используемый для связи с LDAP-сервером.
«base» – строка. Определяет базовую точку входа в LDAP-каталог.
«encryption» – строка. Определяет тип шифрования, используемого для связи с LDAP-сервером. Поддерживаемые значения:
start_tls – устанавливает защищенное TLS-соединение после начальной аутентификации по незашифрованному каналу. Обычно используется на порту 389.
simple_tls – устанавливает полностью зашифрованное TLS-соединение с самого начала. Обычно используется на порту 636.
plain – не использует шифрование и работает по незащищенному каналу. Обычно используется на порту 389.
«bind_dn» – строка. Distinguished Name (DN) пользователя, используемого для аутентификации на LDAP-сервере.
«password» – строка. Пароль, связанный с указанным bind_dn.
«request_user_groups» – логическое значение. Определяет необходимость запроса групп, к которым принадлежит пользователь.
Например:
{
"name": "User Auth LDAP",
"type": "ldap",
"options": {
"host": "10.100.117.229",
"port": 389,
"base": "DC=ald,DC=dom",
"encryption": "start_tls",
"bind_dn": "uid=ldap,cn=users,cn=accounts,dc=ald,dc=dom",
"password": "password",
"request_user_groups": true
}
}
KERBEROS_SSO, MICROSOFT_KERBEROS_SSO
Для типа схемы kerberos_sso и microsoft_kerberos_sso блок «options» описывает параметры подключения к LDAP-серверу, которые используются для аутентификации и получения информации о пользователях.
«keytab» – строка. Закодированное в BASE64 содержимое keytab файла, сгенерированного для сквозной доменной аутентификации.
«request_user_groups» – логическое значение. Определяет необходимость запроса групп, к которым принадлежит пользователь.
Например:
{
"name": "User Auth Kerberos SSO",
"type": "kerberos_sso",
"options": {
"keytab": "BQIAAABVAAIAB0FMRC5ET00ABEhUVFAAEXBnaHM0LWRldi5hbGQuZG9tAAAAAWa
...
ukHskC0mwuIQB0AAAAAE=",
"request_user_groups": true
}
},
OIDC
Для типа схемы oidc (Open Id Connect) блок «options» описывает конфигурацию аутентификации и авторизации пользователей с использованием OpenID Connect (OIDC).
«scope»- строка. Список запрашиваемых областей, к которым требуется доступ при аутентификации.
«issuer»- строка. URL-адрес сервера аутентификации (Issuer).
uid_field - строка. Определяет поле, содержащее уникальный идентификатор пользователя (UID).
«pkce»- логическое значение. Флаг, указывающий на необходимость использования Proof Key for Code Exchange (PKCE) для повышения безопасности.
- client_options - описатель блока параметров клиента, использующего OIDC-аутентификацию.
«id»- строка. Идентификатор клиента(Client ID).
«secret» - строка. Секретный ключ клиента(Client Secret).
«redirect_uri»- строка. URL-адрес, на который будет перенаправлен пользователь после успешной аутентификации.
«request_user_groups» – логическое значение. Определяет необходимость запроса групп, к которым принадлежит пользователь.
Файл темы theme-roller.css
theme-roller.css — это CSS-файл, в котором хранятся настройки темы вашего приложения. Файл размещается в папке со статическими файлами проекта на сервере.Совет
Файл может быть создан и отредактирован вручную, но мы рекомендуем использовать вкладку «Темизация» инструмента DevTools для удобной настройки и генерации theme-roller.css.
Примечание
Система подключает файлы стилей в строго определённом порядке:
базовые (системные) стили PGHS (
index.css);тема приложения (
theme-roller.css);стили проекта — стили, заданные в настройках приложения на стороне XRAD;
стили страницы — определяются для конкретной страницы.
Чем ниже файл в этом списке, тем выше его приоритет: при совпадении правил выигрывает стиль, подключённый последним. Таким образом, стили проекта могут переопределять системные стили, а стили страницы — стили проекта.
Пример содержимого theme-roller.css:
/* Настройки светлой темы */
:root {
--color-brand: #6623b3;
--bg-primary: #ffffff;
--padding: 24px;
--radius: 16px;
}
/* Настройки тёмной темы */
:root.--theme-dark {
--bg-primary: #1a1a1a;
--text-on-primary: #eeeeee;
}
Примечание
Если файл отсутствует на сервере — система использует значения по умолчанию, обеспечивая полную обратную совместимость для проектов, написанных на прошлых версиях PGHS.
Совет
Для проверки доступности файла вы можете напрямую открыть его через браузер. Для этого введите в адресной строке: [PGHS_DOMAIN]/files/theme-roller.css
Для управления цветовой схемой приложения следует использовать интерфейс jsAPI.colorScheme и его методы.
/* Пример тёмной темы для базового представления системы */
:root.--theme-dark {
--bg-primary: #171a1c;
--bg-primary-muted: #2e3032;
--text-on-primary: #ffffff;
--text-on-primary-muted: #899BAC;
--border-color-primary: #576166;
--bg-secondary: #262c30;
--bg-secondary-muted: #32393f;
--text-on-secondary: #ffffff;
--text-on-secondary-muted: #899BAC;
--border-color-secondary: #575d60;
}
Совет
Вы можете разместить этот код в theme-roller.css для добавления поддержки темной темы
Публичный конфигурационный файл pghs-config.json
pghs-config.json — это конфигурационный файл, в котором хранятся настройки структуры и поведения вашего приложения.
В отличие от theme-roller.css, который отвечает за внешний вид (цвета, размеры, шрифты), этот файл управляет структурой интерфейса: расположением шапки, бокового меню, основной области контента.
Совет
Файл может быть создан и отредактирован вручную, но мы рекомендуем использовать вкладку «Layout» инструмента DevTools для удобной настройки и автоматической генерации pghs-config.json.
Примечание
Если файл не создан — система использует значения по умолчанию, обеспечивая полную обратную совместимость для проектов, написанных на прошлых версиях XSQUARE LCDP.
Содержимое pghs-config.json файла по умолчанию:
{
"devTools": {
"enabled": false
},
"layout": {
"allowHideNav": true,
"headerPosition": "outside",
"showHeaderMenuTitles": true,
"view": "dashboard"
}
}
Параметр |
Тип |
Возможные значения |
Описание |
|---|---|---|---|
|
|
|
Включает или отключает панель DevTools на странице. |
|
|
|
Определяет тип отображения приложения. |
|
|
|
Разрешает скрывать навигационное меню. Доступно только для типа отображения |
|
|
|
Определяет положение шапки. |
|
|
|
Показывает или скрывает текстовые подписи у иконок в шапке. Подписи будут скрыты только для пунктов, у которых указана иконка. |
Совет
Для проверки доступности файла вы можете напрямую открыть его через браузер. Для этого введите в адресной строке: [PGHS_DOMAIN]/files/pghs-config.json