2010-04-12 4 views
2

Я расширил JAAS javax.security.auth.spi.LoginModule и установил его на сервер WAS. Оно работает; все логины проходят код в этом новом классе, и если он говорит, что не позволяет им войти в систему, им не разрешается входить в систему.URLCallback с JAAS на WAS?

Корневая проблема: я не хочу, чтобы он отфильтровывал логины для консоли администратора (/ ibm/console), но я хочу, чтобы он отфильтровывал логины для других вещей на сервере. Я думаю, что с доступной настройкой модуль регистрации применяется ко всему, что установлено на сервере, включая экраны администрирования.

Я хотел бы решить это, получив URL-адрес страницы, вызвавшей вызов в LoginModule. Если бы я использовал WebLogic, я бы использовал URLCallback для получения URL-адреса. Кто-нибудь знает, имеет ли Websphere Application Server какую-либо параллельную функциональность, или есть ли другой способ обхода?

Как потенциально полезная добавленная информация, я не могу применять JAAS для отдельных приложений на сервере; дескрипторы развертывания выделены серым цветом в консоли администратора. Я могу применять только новые модули JAAS JAR для всего сервера, что является проблемой для меня.

ответ

1

Weblogic делает это с помощью weblogic.security.auth.callback.URLCallback, WAS делает это через WSServletRequestCallback.

callbacks[0] = new com.ibm.wsspi.security.auth.callback.WSServletRequestCallback(
       "HttpServletRequest: "); 

(нагрузка обратных вызовов)

HttpServletRequest request = ((WSServletRequestCallback)callbacks[3]).getHttpServletRequest(); 
String contextPath = request.getContextPath(); 

Go оттуда.

Смежные вопросы