8.4.1. Кастомизация IDP

Форма логина IDP

Файлы формы логина располагаются в каталоге idp веб-приложения. В случае деплоймента в Tomcat это каталог tomcat/webapps/app/idp. Стандартные файлы можно заменить, создав файлы с такими же именами в каталолге web/idp модуля web проекта.

По умолчанию форма логина IDP использует механизм локализации на основе JavaScript-библиотеки webL10n, и содержит сообщения для английской и русской локали. Чтобы создать сообщения на других языках, создайте файл modules/web/web/idp/l10n/locales.ini и задайте в нем список файлов сообщений:

[*]
@import url(messages.properties)

[ru]
@import url(messages_ru.properties)

[es]
@import url(messages_es.properties)

Дополнительные файлы сообщений должны располагаться в этом же каталоге(modules/web/web/idp/l10n). В качестве шаблона для файлов сообщений используйте файлы из модуля cuba-idp, который доступен в виде JAR-зависимости в вашем проекте.

Можно также полностью заменить форму логина путем создания собственных файлов login.html и js/login.js, либо изменить стили в файле css/login.css.

Реализация IDP

Точки входа в IDP находятся в контроллерах Spring MVC cuba_IdpController и cuba_IdpServiceController. Для реализации собственного поведения можно создать свои контроллеры и зарегистрировать их под этими же именами в файле idp-dispatcher-spring.xml модуля web.

Стандартная реализация хранит сессии IDP на среднем слое и реплицирует их в кластере. Эта функциональность обеспечивается бином cuba_IdpSessionStore. Механизм хранения сессий может быть кастомизирован путем создания бина с таким же именем в модуле core проекта и регистрации его в соответствующем файле spring.xml. Подробнее см. Расширение бизнес-логики.