Вопрос

Я расширил Jaas javax.security.auth.spi.loginModule и установил его в был сервер. Оно работает; Все логины проходят через код в этом новом классе, и если он говорит не отпустить их в систему, они предотвращают войти в систему.

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

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

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

Это было полезно?

Решение

Weblogic делает это с weblogic.security.auth.callback.urlcallback, это делает через wssservletrequestcallback.

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

(Зазволки нагрузки)

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

Иди оттуда.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top