Поиск пользователя при вызове JMX

#java #jmx

Вопрос:

Я изменяю существующую систему с MbeanServer помощью приложения, которое регистрирует компоненты на сервере, чтобы разрешить просмотр данных в формате JMX и т. Д. Для доступа к веб-страницам JMX требуется логин, и он каким-то образом интегрирован с системой единого входа, хотя я еще не выяснил, где именно.

В целях аудита я хочу записать имя пользователя, который вошел в систему при доступе к некоторым определенным методам.

Есть ли какой-либо способ из вызванного метода узнать, каково имя пользователя, который сделал запрос?

Ответ №1:

Короткий ответ: Нет!

Чтобы подробнее об этом: из вашего вопроса я понимаю, что ваше приложение выглядит в основном так:

Браузер -> Веб-страница ->> Сервлет ->>> MBeanProxy ->>>> MBean ->>>>> Код приложения

Соединение между MBeanProxy и самим MBean защищено учетными данными, указанными в конфигурации JVM (аргументы com.sun.management.jmxremote JVM). И вам не обязательно нужен настоящий MBeanProxy, вы также можете напрямую звонить на удаленный MBean.

Но в любом случае соответствующий API не содержит имени пользователя или чего-либо подобного.

Только доступ к веб-странице/сервлету может быть зарегистрирован с именем пользователя (где сервлет также может быть JSP).

Комментарии:

1. К такому выводу я тоже пришел, спасибо. Надеялся, что кто-нибудь узнает что-то, что я пропустил, но не повезло