1. 資料庫用戶配置:棄用明文改用 DataSource
舊方式:group.properties 明文或 Base64 存放帳密 → **無真實安全性**。
新方式:修改 group.properties 指向 JNDI DataSource:
initialContextFactory=com.ibm.websphere.naming.WsnInitialContextFactory
datasourceJNDI=jdbc/sampleDataSource
initialContextFactory:WAS JNDI 查找工廠
datasourceJNDI:對應 WAS 中 DataSource 的 JNDI 名稱
優勢:密碼由 WAS 安全儲存、支援連線池、多 DataSource 隔離。
2. 部署描述符配置授權角色
- J2EE Hierarchy → 雙擊 Web Module (SecureDADX) → Security 標籤
- 新增角色:**DADXUser** (實際專案可細分 accounting/engineering/admin)
- Security Constraints → Add:
- URL Pattern:
/db2sample/* (對應 dxx_sample 群組所有 DADX) - HTTP Methods:選擇需保護方法 (GET/POST 等)
- Authorized Roles:勾選
DADXUser
- 可建立多約束:讀操作 DADX / 寫操作 DADX 分離,角色區分
3. HTTPS 機密性傳輸
- User Data Constraints → Transport Guarantee:CONFIDENTIAL
- 強制所有通訊走 HTTPS,防止明文竊聽
4. URL 認證機制
- Pages 標籤 → Authentication Method:**BASIC**
- HTTP Header 傳送 Base64 編碼用戶/密碼 (配合 HTTPS 確保機密性)
5. 企業應用描述符:角色收集與用戶映射
- 雙擊 DefaultEAR → Security → **Collect Roles** (從 WAR 繼承
DADXUser)
- Add User to Role:輸入具體 OS 用戶 (如
wasuser) → 對應 DADXUser
- 部署時可覆寫 Role-to-User 映射 (多機器用戶不同)
6. 導出 EAR 部署
- File → Export → EAR file → 指定檔名 (如
DefaultEAR.ear)
- 此 EAR 含完整安全配置,可直接在 WAS 部署 (下篇實作)