java - 在 JMX 调用中查找用户
问题描述
我正在修改一个现有系统,该系统MbeanServer
将 bean 注册到服务器以允许 JMX 查看数据等。为了访问 JMX 网页,需要登录并且它以某种方式与 SSO 系统集成,尽管我还没有发现在哪里然而。
出于审计目的,我想记录在访问某些特定方法时登录系统的用户名。
在被调用的方法中是否有任何方法可以找出发出请求的用户的名称是什么?
解决方案
简短的回答:不!
详细说明:根据您的问题,我了解到您的应用程序基本上如下所示:
浏览器 -> 网页 -> Servlet -> MBeanProxy -> MBean -> ApplicationCode
MBeanProxy 和 MBean 本身之间的连接由 JVM 配置(com.sun.management.jmxremote
JVM 参数)提供的凭据保护。而且您不一定需要真正的MBeanProxy,您也可以直接调用远程 MBean。
但无论如何,相应的 API 不带有用户名或类似名称。
只有对 WebPage/Servlet 的访问才能使用用户名进行记录(其中 Servlet 也可以是 JSP)。
推荐阅读
- bash - 是否可以在 bash 中的 case 选择器中使用花括号?
- php - 在codeigniter中如何划分时间
- linux - 我无法从外部剪贴板粘贴到 vim
- javascript - javascript 和 node.js 中的异步和等待
- python - Python assertEqal 字符串 - 忽略它的一部分
- javascript - 接下来如何在 React SSR 框架中使用 TS+css+scss?
- node.js - Lambda 函数运行时间 > 3 秒 + 每次预热 5-10 秒
- react-native - 有没有办法在 react-native 中切换 renderItem SelectList 上的选定项目?
- c - 有没有办法改变C中的文本颜色?
- laravel - oauth_access_tokens 中的名称字段