jetty osgi: защита всего сервлета с помощью одного обработчика безопасности

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

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


person guillaume    schedule 26.09.2012    source источник


Ответы (2)


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

person Achim Nierbeck    schedule 26.09.2012
comment
Как заставить использовать один и тот же HttpContext всеми сервлетами? - person guillaume; 27.09.2012
comment
ну, одним из способов может быть использование одного и того же HttpContext при использовании расширителя доски pax-web, например Pax-Web. - person Achim Nierbeck; 27.09.2012
comment
это не мешает кому-то напрямую зарегистрировать сервлет с помощью httpservice.registerservlet - person guillaume; 27.09.2012
comment
нет, это требование пользователя, а не контейнера или платформы, поэтому пользователь, отвечающий за разработку приложения таким образом, чтобы использовался один HttpContext, зависит от него. - person Achim Nierbeck; 01.10.2012

Посмотрите на поддержку HTTP доски Apache Felix. Вы можете просто зарегистрировать фильтры в реестре, и они будут использоваться базовым 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.

Сам еще не пробовал, но скоро...

person Peter Kriens    schedule 27.09.2012
comment
Это был бы альтернативный подход с использованием felix вместо pax-web, поскольку у нас достаточно инструментов, чтобы выбрать, какой из них подходит лучше всего, зависит от пользователя :D. И я попробовал pax-web (конечно) ;) - person Achim Nierbeck; 27.09.2012