CQ Войти со своими сообщениями
Можно ли запрограммировать собственный сервлет для входа в систему CQ и вернуть собственное сообщение в виде ответов JSON.
Я имею в виду то же, что и J_Security_Check, но у меня есть контроль над сообщениями. Логин должен проверить учетные данные и создать токен для сеанса.
Я не нашел никакого полезного решения в интернете.
Кто-нибудь знает, как я могу это сделать?
Есть ли какие-либо классы в AEM, чтобы помочь в этой ситуации?
Я использую AEM 6.1.
3 ответа
Apache Sling и, следовательно, Adobe Experience Manager, позволяют создавать собственные обработчики аутентификации.
Увидеть:
- http://www.wemblog.com/2013/03/how-to-create-custom-authentication.html
- http://sling.apache.org/documentation/the-sling-engine/authentication.html
- http://sling.apache.org/documentation/the-sling-engine/authentication/authentication-authenticationhandler.html
- http://sling.apache.org/apidocs/sling8/org/apache/sling/auth/core/spi/AuthenticationHandler.html
Вам нужно будет переопределить компонент входа AEM, представленный на /libs/granite/core/content/login
скопировав этот компонент под /apps
поддержание одинаковой структуры папок (тип различных папок в епархии). Ресурс этого компонента присутствует в /libs/granite/core/components/login
который содержит JSP-скрипт для формы входа AEM. Как только вы переместили все соответствующие сценарии в /apps
Вы можете изменить действие формы входа в login.jsp, указав путь к сервлету.
Звонок на сервер отправлен с /libs/granite/core/content/login/clientlib/login.js
используя Jquery, вы можете обработать ответ от вашего сервлета в соответствующих блоках успеха / ошибки.
Кроме этого, есть настройка OSGI, которая используется AEM для рендеринга страницы входа. Найти Day CQ Login Selector Authentication Handler
в консоли Феликса и измените Default Login Page
к вашему компоненту под /apps
,
Попробуйте посмотреть LDAP с параметрами аутентификации SAML2. https://helpx.adobe.com/experience-manager/kb/saml-demo.html