0

我为 JMX / jolokia 后端开发了一个基于 javascript 的前端。基本上,该工具应该是一个更漂亮的基于 html5 的 JConsole,供不使用 Java 编码的人使用。

我的问题是,我应该如何对尝试从 JMX 读取/更新数据的用户进行身份验证?

我应该创建某种基于 Node.js 的代理来管理会话、用户身份验证并在 HTML5 前端和 JMX 之间传递查询还是使用 JMX 身份验证?

我想出了2个解决方案:

  1. Ajax 请求 -> Node.js 身份验证 -> Jolokia -> JMX -> Jolokia -> Node.js -> Ajax 响应
  2. Ajax 请求 -> Jolokia -> JMX -> Jolokia -> Ajax 请求

1. Node.js 是透明的,即。不会更改传递给 Jolokia 并从中返回的请求。

作为一名 javascript 和前端开发人员,我对 Ruby、Node.js 和最流行的 PHP 框架等后端技术也有经验,但对 Java 的经验并不多,老实说,我不知道哪种做法更好。有没有第三种选择?

我认为重要的是要强调通信是基于 XHR / JSON 的,我在这里使用 Angular.js 作为 MVC 框架。例如,我可以创建一个使用来自 Jolokia 的 JS 库的 Angular.js 服务。

4

1 回答 1

0

如果您相应地保护您的 Jolokia 代理,您可以直接将基本身份验证与 Jolokia 的JavaScript库一起使用。即,如果您使用 Jolokia WAR-Agent,您可以将其设置为使用 J2EE 安全性。对于其他类型的代理存在类似的机制。

要直接访问 JMX,您肯定需要一个代理,因为无论如何您都无法从 JavaScript 中直接访问 JMX(有或没有安全性)。

我的建议是上面的选项 2,但请使用最新的 Snapshot 版本(1.1.2-SNAPSHOT,1.1.2 即将发布),因为它包含一些对 CORS 访问的重要修复。

但在你走远之前,你知道hawt.io吗?这可能与您计划的项目非常相似

于 2013-05-22T09:49:31.250 回答