当前位置: 首页 > 知识库问答 >
问题:

将 JMX 与 Jaas 结合使用以进行 jconsole 身份验证

苏彭薄
2023-03-14

我有以下情况:

我有一个使用 JMX 公开一些方法的应用程序,位于服务器上。目前,用户可以使用jconsole通过命令行连接到此内容。目前没有访问限制。

用户将登录到机器并以活动目录的形式存储访问权限。

我希望将身份验证和授权添加到 jmx 流程中,以便当用户在命令行中键入时:

jconsole <processName>

它将检查他们的AD用户组,并确定他们是否有权读取或读写托管资源。

我有一个检索AD组的解决方案,但不是如何将其传递给JMX进程。我可以在jmx进程上设置一个硬编码的密码文件,但我无法自动调用用户来确定他们的访问权限。

当用户试图连接到当前JMX进程时,该进程是否可以执行回调来确定给定用户的访问权限?如果没有,有没有现有的工具和框架(例如JBoss)允许我这样做?

共有1个答案

全卜霸
2023-03-14

这可以通过使用 Jaas 定制登录模块来解决,然后在命令行中使用以下操作反弹并重新启动 JMX 进程:

-Dcom.sun.management.jmxremote.login.config=Sample
-Djava.security.auth.login.config=sample_jaas.config

sample_jaas.config有这样的设置:

Sample {
   sample.module.SampleLoginModule required;
};

我的SampleLoginModule实现了LoginModul接口,并且在它的login()方法中有一个对授权逻辑模块的回调。

 类似资料:
  • 我已经将我的Kafka jaas配置设置为Spring引导应用程序中的外部bean,以便从application.yaml文件中读取我的配置。 但是,从yaml文件读取jaas密钥表文件时,我遇到了一个错误。 面临错误 这就是我配置jaas的方式 KafkaJaasConfigurationProperty.java 应用yml 配置Bean.java 任何帮助将不胜感激。谢谢!

  • null 身份验证工作流会是什么样子?有任何可用的例子吗?我们可以通过使用MSAL来实现吗? 假设我们已经创建了一个Azure密钥库,并在该库中保存了一些秘密。如何在Windows 10下运行的桌面应用程序中实现以下功能: 当前Windows用户是Azure AD组GroupA的一部分,位于Azure密钥库的同一承租人之下。 当当前用户从同一用户会话启动桌面应用程序时,应用程序可以访问所述密钥库中

  • 我正在努力让LDAP身份验证与Active Directory一起工作。 我们刚刚安装了一个SharePoint Server 2010,我们认为还可以根据Active Directory对用户进行身份验证,因为它已经用于SharePoint。我们的环境是Windows Server 2008 R2标准。 根据这个答案https://serverfault.com/a/130556我的提供商URL

  • 致命:“https://github.com/scuzzlebuzzle/ol3-1.git/'”身份验证失败

  • 我正在尝试使用urllib3连接到网页。代码如下所示。 如果我们假设url是需要使用用户名和密码进行身份验证的某个网页,那么我是否使用正确的代码进行身份验证? 我使用urllib2做这件事很舒服,但使用urllib3做不到同样的事情。 非常感谢

  • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。