Мне нужно настроить существующее приложение, которое обычно развертывается на Tomcat или Jetty, на WebSphere Application Server v8. Основная проблема, с которой я столкнулся, заключается в том, что в среде, в которой он будет развернут, ожидается, что он будет обрабатывать аутентификацию/авторизацию через JAAS. К сожалению, приложение использует самодельную систему аутентификации и несовместимо с JAAS или реализацией JAAS в WebSphere.
До сих пор, чтобы предоставить прокладку, которая позволит приложению гармонично жить в WebSphere, я пытался написать перехватчик ассоциации доверия WebSphere, чтобы вытащить субъект из интерфейса веб-сферы (через вызов com.ibm.websphere.security.auth.WSSubject.getCallerSubject()
) и поместить его в HttpServletRequest, где в ходе обычных операций мое веб-приложение будет извлекать добавленный атрибут для нашего использования. Но это кажется... сложным. Кажется, что он специально создан, и кажется, что мы не можем использовать его для такого типа операций.
В идеале я хотел бы держаться подальше от фильтров в приложении, потому что я хотел бы, чтобы код, специфичный для IBM, не попадал в приложение, насколько это возможно.
У кого-нибудь есть предложения?