URLCallback с Jaas на был?
Вопрос
Я расширил 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();
Иди оттуда.