Есть ли в WebSphere 8 что-то похожее на Tomcat Valves для перехвата запросов (это не встроенные в приложение фильтры сервлетов...)?

Мне нужно настроить существующее приложение, которое обычно развертывается на Tomcat или Jetty, на WebSphere Application Server v8. Основная проблема, с которой я столкнулся, заключается в том, что в среде, в которой он будет развернут, ожидается, что он будет обрабатывать аутентификацию/авторизацию через JAAS. К сожалению, приложение использует самодельную систему аутентификации и несовместимо с JAAS или реализацией JAAS в WebSphere.

До сих пор, чтобы предоставить прокладку, которая позволит приложению гармонично жить в WebSphere, я пытался написать перехватчик ассоциации доверия WebSphere, чтобы вытащить субъект из интерфейса веб-сферы (через вызов com.ibm.websphere.security.auth.WSSubject.getCallerSubject()) и поместить его в HttpServletRequest, где в ходе обычных операций мое веб-приложение будет извлекать добавленный атрибут для нашего использования. Но это кажется... сложным. Кажется, что он специально создан, и кажется, что мы не можем использовать его для такого типа операций.

В идеале я хотел бы держаться подальше от фильтров в приложении, потому что я хотел бы, чтобы код, специфичный для IBM, не попадал в приложение, насколько это возможно.

У кого-нибудь есть предложения?


person Michael Kohout    schedule 11.10.2012    source источник


Ответы (1)


Возможным решением является использование фильтра, находящегося вне приложения, аналогично следующему примеру:

https://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP101859

Он по-прежнему будет частью цепочки фильтров и будет функционировать так же, как и любой другой фильтр, но код не будет частью приложения. Он будет находиться в отдельном файле jar.

person ZRoman    schedule 18.01.2016
comment
Я больше не работаю в этом месте, но ваш ответ звучит правдоподобно. - person Michael Kohout; 08.02.2016