Apache Wicket — пользовательский сервлет

#java #apache #wicket

#java #apache #wicket

Вопрос:

Я пытаюсь интегрировать Wicket (1.5.16) с «Единым входом». В этом процессе IdP отправляет множество атрибутов обратно в приложение Wicket, используя HTTP POST.

Если я использую, он ищет жизненный цикл, а также добавляет некоторые числа в форму и т.д. Я ищу следующее решение: 1) Создайте сервлет / некоторый класс Wicket, который может получать запросы POST. 2) Если аутентификация SAML прошла успешно, перенаправьте на частный внутренний .

Пожалуйста, дайте мне знать, если у вас есть какие-либо материалы.

Комментарии:

1. По крайней мере, в более новых версиях wicket (> 6) любая страница Wicket может получать запросы Post и реагировать на них. Вам просто нужен конструктор public MyWicketPage(PageParameters pageParameters) , а затем вы можете использовать этот объект PageParameters для получения параметров Post, отправляемых на страницу, и реагирования на них.

2. Большое спасибо за ответ. Вышеупомянутый конструктор также доступен в версии 1.56. Я использовал его, но все еще вижу номер в URL. localhost:8080/mylogin? 4-1. IFormSubmitListener-ssoResponseform

Ответ №1:

Вы можете обернуть Wicket в другой фильтр сервлета. Таким образом, ваш фильтр получит запрос первым и сможет решить, обрабатывать его или передавать в Wicket.

Для достижения этого вам просто нужно определить свой <filter> фильтр / сервлет Wicket выше / перед ним в web.xml .