Hawt.io Web应用程序 - 用户权限

时间:2015-05-22 04:11:38

标签: java security tomcat jetty hawtio

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

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

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

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

1 个答案:

答案 0 :(得分:0)

对于基于角色的授权,如果用户有权访问给定的mbean / operation / attribute,则可以预先查询。如果你实现这个interface 您可以与JMX的某些服务器端授权集成。默认情况下,hawtio使用dummy implementation来完成所有操作。这一切最初设计用于为Apache Karaf实现的JMX保护,它暴露了相同的mbean,但实际上通过ACL配置限制访问。无论如何,客户端javascript被设置为通过扫描“type = security; area = jmx”找到这个mbean,只需在你的mbean中设置一个更高的'rank'属性,javascript就会使用它。