Обратиться с JAAS на WAS? - PullRequest
       19

Обратиться с JAAS на WAS?

2 голосов
/ 12 апреля 2010

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

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

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

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

1 Ответ

1 голос
/ 14 апреля 2010

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();

Иди оттуда.

...