Встраивание дашбордов ProcesetLTS
Дашборды Proceset можно встраивать во внешние системы с помощью HTML-элемента <iframe>.
Встраивание через iframe используется, когда нужно показать дашборд внутри другой веб-системы, например, CRM или корпоративного портала, и открыть его сразу с заданными параметрами без перехода в интерфейс Proceset.
Для просмотра дашбордов требуется активная авторизация пользователя в Proceset. При встраивании через iframe содержимое отображается только при наличии действующей пользовательской сессии. Анонимный доступ к дашбордам не поддерживается.
Включение поддержки iframe
Чтобы дашборды Proceset можно было отображать во внешних системах, включите поддержку <iframe> в конфигурации системы.
- Перед включением
iframeсогласуйте это решение с отделом информационной безопасности, так как оно может создавать дополнительные риски безопасности:- Cross-Site Scripting (XSS)
- Clickjacking
- Фишинг через
iframe - Cross-Frame Scripting (XFS)
- Внедрение вредоносного контента
- Загрузка небезопасных ресурсов
- Проблемы с контролем доверия пользователя
- Утечка данных и нарушение приватности
Добавьте параметр support_iframe в файл конфигурации com.infomaximum.subsystem.frontend.json:
{
"support_iframe": true
}
После изменения конфигурации необходимо перезапустить сервер.
Встраивание дашборда на страницу
После включения поддержки iframe дашборд можно встроить в любую внешнюю страницу с помощью стандартного HTML-элемента <iframe>:
<iframe
src="https://site.com/im/report/5673/publish?frame=true&filters=%5B%7B%22type%22%3A%22formula%22%2C%22format%22%3A%22STRING%22%7D%5D"
width="100%"
height="600"
frameborder="0"
allowfullscreen
></iframe>
| Атрибут | Описание |
|---|---|
src | URL дашборда Можно скопировать из адресной строки браузера при его открытии URL должен содержать параметр frame=true |
width | Ширина iframe |
height | Высота iframe |
frameborder="0" | Отключение рамки вокруг встроенного дашборда |
allowfullscreen | Включение полноэкранного режима |
Параметры отображения дашборда
При встраивании дашборда можно передать параметры в URL, которые влияют на его отображение, например:
https://site.com/im/report/123/publish?frame=true&filters=[{"type":"formula","format":"STRING"}]
| Параметр | Описание |
|---|---|
frame | Управляет отображением навигационной панели и других элементов управления при встраивании дашборда Если значение параметра true, панель навигации и дополнительные элементы управления скрываются, если false — отображаются |
filters | Позволяет передать готовые фильтры через адресную строку Значение должно быть в формате JSON и корректно закодировано для использования в URL (например, с помощью encodeURIComponent) |
Дополнительные параметры (например, переменные или входящие значения для BI) поддерживаются в зависимости от конфигурации дашборда.
Требования и ограничения на стороне внешнего сайта
Если на сайте, куда вы встраиваете iframe, настроена политика безопасности Content Security Policy (CSP), необходимо разрешить загрузку iframe с домена, на котором размещен Proceset. В противном случае браузер заблокирует встраивание, даже если на стороне Proceset все настроено корректно.
Пример настройки:
Content-Security-Policy: frame-src https://site.com;
Где site.com — адрес установки Proceset.
Также рекомендуется использовать атрибут sandbox в <iframe> для ограничения действий встроенного содержимого.
Пример:
<iframe
src="https://site.com/im/report/5673/publish?frame=true&filters=%5B%7B%22type%22%3A%22formula%22%2C%22format%22%3A%22STRING%22%7D%5D"
width="100%"
height="600"
frameborder="0"
allowfullscreen
sandbox="allow-same-origin allow-scripts allow-forms"
></iframe>
Была ли статья полезна?