Программная переадресация аутентификации пользователя с помощью JSF и Omnifaces ExtensionlessURL

Мы пытаемся реализовать программный поток аутентификации.

Наша реализация основана на следующих ссылках:

  1. Безопасность Java EE - не перенаправляться на начальную страницу после войти

  2. Выполнение аутентификации пользователя в Java EE / JSF с использованием j_security_check

Мы также используем OmniFaces ExtensionlessURL, объявленный в файле web.xml следующим образом:

<context-param>
   <param-name>org.omnifaces.FACES_VIEWS_SCAN_PATHS</param-name>
   <param-value>/*.xhtml</param-value>
</context-param>

Проблема в том, что мы пытаемся перенаправить пользователя после входа на начальную страницу.

String originalURI = (String) externalContext.getRequestMap().get(RequestDispatcher.FORWARD_REQUEST_URI);

Возвращает всегда ноль. При удалении функциональности без расширений FORWARD_REQUEST_URI не является нулевым, как ожидалось. Я предполагаю, что это вызвано тем, что ExtensionlessUrl делает перенаправление раньше, и эта информация теряется.

Как мы можем получить FORWARD_REQUEST_URI при использовании ExtensionlessUrl?

Спасибо!


person Fabricio    schedule 20.05.2021    source источник