0

我有一个关于 hawt.io 安全性的问题。我已经将 hawt.io 安装为 Web 应用程序(目前是它的嵌入式码头,但我们也可以选择在嵌入式/常规模式下使用 tomcat)。Hawt.io 将同一进程的 JMX mbeans 树可视化,我们不连接到远程服务器,一切都是本地的。我想做的是找到提供要使用的身份验证和授权机制的最佳方法:

  • 用户身份验证:最好通过 LDAP 完成
  • 用户授权:一些用户可以获得对所有 mbean 的完全访问权限,其他用户被限制为不执行 mbean 操作,而只能读取属性。

我以为我可以安装一个网络过滤器,在码头我可以在 web.xml 之外执行它并检查请求,但是由于 hawt.io 使用 POST web 方法与其内部 jolokia 通信,因此操作执行的标识符在内部请求正文,因此我实际上无法从 Web 过滤器中访问它,因为在 Java Servlets 中我只能读取一次请求正文。我知道我可以提供“虚假请求”,但也许存在更好的解决方案。

也许有人可以提供相关的配置片段来配置这样的安装。非常感谢提前

4

1 回答 1

0

对于基于角色的授权,您可以预先查询用户是否有权访问给定的 mbean/操作/属性。如果你实现了这个接口 ,你可能会集成一些 JMX 的服务器端授权。默认情况下,hawtio 使用一个虚拟实现,让一切都通过。这一切最初是为了与为 Apache Karaf 实现的 JMX 保护程序一起工作而设计的,它公开了相同的 mbean,但实际上确实通过 ACL 配置限制了访问。无论如何,客户端javascript被设置为通过扫描“type=security;area=jmx”来定位这个mbean,只需在你的mbean中设置一个更高的'rank'属性,javascript就会使用它。

于 2015-05-22T12:26:55.813 回答