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

WebLogic 8 安全優雅關閉腳本:從明文密碼到 BootIdentity 加密方案

     編輯:Java 相關知識

問題背景

控制台啟動 WebLogic 後,直接 Ctrl+C 或關閉窗口會導致數據不一致、事務未提交、鎖文件殘留。需調用管理 API 發起正常關閉流程。

初版腳本(明文密碼風險)

REM stopWeblogic.cmd
set JAVA_HOME=D:\bea\jdk141_05
set PLATFORMHOME=D:\bea\weblogic81
set ADMIN_URL="t3://localhost:80"
set ARGUMENTS=weblogic.Admin SHUTDOWN -url %ADMIN_URL% -username weblogic -password weblogic
set CLASSPATH=%PLATFORMHOME%\server\lib\weblogic.jar
"%JAVA_HOME%\bin\java.exe" -cp "%CLASSPATH%" %ARGUMENTS%

隱患: 用戶名/密碼明文存儲,違反安全合規。

安全增強版(BootIdentity 自動認證)

REM stopWeblogic.cmd 安全版
set JAVA_HOME=D:\bea\jdk141_05
set PLATFORMHOME=D:\bea\weblogic81
set ADMIN_URL="t3://localhost:80"
set DOMAINPATH=D:\bea\user_projects\domains\mydomain

set ARGUMENTS=weblogic.Admin SHUTDOWN -url %ADMIN_URL%
set ARGUMENTS=-Dweblogic.system.BootIdentityFile=%DOMAINPATH%\boot.properties -Dweblogic.RootDirectory=%DOMAINPATH% %ARGUMENTS%

set CLASSPATH=%PLATFORMHOME%\server\lib\weblogic.jar
"%JAVA_HOME%\bin\java.exe" -cp "%CLASSPATH%" %ARGUMENTS%

核心原理解析

  • boot.properties:域創建時自動生成,包含加密的 username/password({AES}xxx 格式)。
  • -Dweblogic.system.BootIdentityFile:指定身份文件路徑,weblogic.Admin 工具讀取並解密認證,無需命令行傳遞明文。
  • -Dweblogic.RootDirectory:指定域根目錄,確保相對路徑解析正確。

強制關閉選項

將 SHUTDOWN 改為 FORCESHUTDOWN 可跳過優雅等待,直接終止進程,僅用於緊急故障恢復。

生產環境建議

  1. 腳本放置於域目錄 bin 下,權限 700(僅管理員可讀寫執行)。
  2. 納入系統服務管理(Windows Service / systemd),關機自動觸發。
  3. 監控腳本返回碼,記錄關閉日誌供審計。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved