首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2SE

JMX + J2SE 5.0 實現 Web 應用安全管理(三):建立 JMXServiceURL 與認證保護

     編輯:J2SE

六、建立 JMXServiceURL

將 MBeanServer 公開為遠程服務需構建 JMXServiceURL:

JMXServiceURL url = new JMXServiceURL("rmi", null,
    Constants.MBEAN_SERVER_PORT,
    "/jndi/rmi://localhost:" + Constants.RMI_REGISTRY_PORT + "/jmxapp");

參數說明:

  1. 協議:rmi。
  2. 主機:null 讓 API 自動解析最佳主機名(如電腦名稱)。
  3. 埠號:MBeanServer 監聽埠。
  4. URL 路徑:/jndi/rmi://localhost:1099/jmxapp,指示客戶端透過 JNDI 在 RMI 註冊表查找名為 jmxapp 的服務。

toString() 輸出:service:jmx:rmi://zarar:9589/jndi/rmi://localhost:1100/jmxapp,即客戶端連接字串。

七、保護服務:認證機制

J2SE 5.0 內建密碼檔認證:

// 密碼檔內容(用戶名 密碼)
zarar siddiqi
fyodor dostoyevsky
// 建立環境映射
Map env = new HashMap<>();
env.put("jmx.remote.x.password.file", userFilePath);

// 建立 JMXConnectorServer
connectorServer = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbeanServer);
  • connectorServer.start() / stop() 控制服務生命週期。
  • 密碼檔路徑透過 ServletContext.getRealPath 獲取。

提示

MX4J 等第三方實現提供密碼混淆(PasswordAuthenticator)等增強功能。

本文來自編程入門網:原文連結

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved