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

EJB Context 與安全機制:容器交互通道、交易傳播與授權模型

     編輯:J2EE

EJB Context:Bean 與容器的資訊交換通道

透過 SessionContext 或 EntityContext (繼承 EJBContext) 提供:

  • Home Object / EJBObject 參考
  • 交易狀態 (getRollbackOnly(), setRollbackOnly())
  • 安全資訊 (getCallerIdentity(), isCallerInRole())
  • 環境屬性 (getEnvironment())
  • 取得 UserTransaction (BMT 用)

重要:Bean 內需呼叫其他 Bean 或傳遞自身參考時,不可用 this,必須用 SessionContext.getEJBObject() 取得 EJBObject 參考。

EJB 安全機制兩階段

第一階段:身分驗證

  • 客戶端必須被驗證 (username/password)
  • 中介軟體通常整合成熟目錄服務
  • 簡易做法:WebLogic weblogic.password.user=pass

第二階段:授權存取控制

兩種方式:

  1. 宣告式授權:容器代理一切。部署時指定角色權限。
    WebLogic 範例:
    weblogic.security.group.employees=userA
    weblogic.security.group.manager=userB
  2. 程式化授權:Bean 程式碼中呼叫 isCallerInRole() 自行判斷

宣告式授權分離安全邏輯與商業邏輯,符合 EJB 設計哲學;程式化授權提供細粒度控制但增加耦合。

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