#java #jmx
Вопрос:
Я изменяю существующую систему с MbeanServer
помощью приложения, которое регистрирует компоненты на сервере, чтобы разрешить просмотр данных в формате JMX и т. Д. Для доступа к веб-страницам JMX требуется логин, и он каким-то образом интегрирован с системой единого входа, хотя я еще не выяснил, где именно.
В целях аудита я хочу записать имя пользователя, который вошел в систему при доступе к некоторым определенным методам.
Есть ли какой-либо способ из вызванного метода узнать, каково имя пользователя, который сделал запрос?
Ответ №1:
Короткий ответ: Нет!
Чтобы подробнее об этом: из вашего вопроса я понимаю, что ваше приложение выглядит в основном так:
Браузер -> Веб-страница ->> Сервлет ->>> MBeanProxy ->>>> MBean ->>>>> Код приложения
Соединение между MBeanProxy и самим MBean защищено учетными данными, указанными в конфигурации JVM (аргументы com.sun.management.jmxremote
JVM). И вам не обязательно нужен настоящий MBeanProxy, вы также можете напрямую звонить на удаленный MBean.
Но в любом случае соответствующий API не содержит имени пользователя или чего-либо подобного.
Только доступ к веб-странице/сервлету может быть зарегистрирован с именем пользователя (где сервлет также может быть JSP).
Комментарии:
1. К такому выводу я тоже пришел, спасибо. Надеялся, что кто-нибудь узнает что-то, что я пропустил, но не повезло