Jetty OSGI: защита всех сервлетов с помощью одного securityHandler

Я использую причал как пакет osgi с paxweb. Я хотел бы быть уверен, что все сервлеты и ресурсы, зарегистрированные благодаря OSGI HttpService, защищены одним общим SecurityHandler (более того, я бы хотел использовать JAASLoginService). Я также хочу перенаправить все неаутентифицированные запросы на одну страницу входа.

Можно ли настроить этот сценарий?

2 ответа

Если все сервлеты используют один и тот же HttpContext, это возможно. В качестве runtime-контейнера с работающим Jaas я предлагаю использовать Apache Karaf. Он предоставляет все, что нужно, включая Pax Web в качестве HTTPService, включая HttpWhiteboard Extender.

Посмотрите на поддержку Apache Felix whiteboard HTTP. Вы можете просто зарегистрировать фильтры в реестре, и они используются основной Jetty: http://felix.apache.org/site/apache-felix-http-service.html

Свойства службы фильтрации, которые поддерживаются для фильтров:

pattern - Regular expression pattern to register filter with.
contextId - Id of context to register with.
service.ranking - Where in the chain this filter should be placed.
init.* - Filter initialization values.

Я еще не пробовал это сам, но скоро...

Другие вопросы по тегам