亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

教您如何成為 EJB 專家詳解系列連載之五

2019-11-18 12:34:59
字體:
來源:轉載
供稿:網友

  為beanss增加功能
  1、關于beans的home對象和EJB對象的信息
  2、beans的當前事務信息
  3、對于客戶授權的安全信息。beans可以通過查詢環境決定客戶執行操作所需要的安全層次
  4、beans的環境屬性
  
  容器將所有這些信息保存在一個稱為EJB context object的對象里。EJB上下文作為容器的物理部分,可以被beans訪問。這些訪問可以讓beans得到當前的狀態和改變當前的狀態。上下文可以在beans的生命期中被更改。
  
  EJB1.0 javax.ejb.EJBContext接口:
  
  public interface Javax.ejb.EJBContext
  {
  public Javax.ejb.EJBHome getEJBHome();
  public Java.util.PRoperties getEnvironment();
  public Java.security.Identity getCallerIdentity();
  public boolean isCallerInRole(Java.security.Identity);
  public Javax.jts.UserTransaction getUserTransaction();
  public void setRollbackOnly();
  public boolean getRollbackOnly();
  }
  
  會話beans的上下文,上下文根據beans的不同分為:會話上下文和實體上下文。它們分別被用于會話beans和實體beans。
  
  Javax.ejb.EJBContext
  public interface Javax.ejb.sessionContext
  extends Javax.ejb.EJBContext
  {
  public Javax.ejb.EJBObject getEJBObject();
  }
  
  注重:
  
  SessionContext接口繼續了EJBContext接口,在EJBContext中定義的方法提供了對會話beans的存取路徑。對于會話beans,調用setSessionContext,這個方法在Javax.ejb.Sessionbeans接口中被定義。對于實體beans,調用setEntityContext。
  
  SessionContext.getEJBObject()
  
  在EJB中,beanss可以作為其他beans的客戶端。假如一個beans需要調用另外的beans,getEJBObject()方法則是必需的。在Java中,對象可以使用this要害字保存自身的參考。在EJB中,beans不能使用this要害字給其他beans傳遞對象,這是因為所有的客戶調用beans上的方法都是間接調用beans的EJB對象。beans可以使用this要害字將自己傳給EJB對象。
  
  了解EJB的安全性,首先,客戶端必須是可被鑒別的。其次,客戶端必須是已經授權的。
  
  第一步:鑒別;
  不同的EJB容器擁有不同的鑒別客戶端的方法。例如:BEA的WebLogic中,當不同客戶端代碼使用JNDL定位Home對象時,提供不同的用戶名和密碼。
  
  Properties props = System.getProperties();
  props.put(Context.SECURITY_PRINC  props.put(Context.SECURITY_CREDENTIALS, "myPassWord1");
  Context ctx = new InitialContext(props);
  // Use the initial context to lookup home objects...
  
  EJB沒有制定如何鑒別的規范,因此這樣就影響了可移植性。要了解這方面,查看各類容器的文檔。當運行這段代碼時,應用服務器將驗證你的用戶名和密碼,這是應用服務器規范。許多應用服務器答應在屬性文件里設置用戶名和密碼。這個文件將在運行時由應用服務器讀。高級點的服務器支持已經存在的驗證系統的整合。例如將用戶名和密碼列表存儲在LDAP服務器中。
  
  第二步:授權
  只有經過授權的客戶端才可以調用beans中的方法。EJB中有兩種驗證授權的方法:declaratively和programmatically。即:由容器執行所有的授權檢驗、在程序中進行授權檢查。
  
  Declarative授權檢查時,要在配置描述符中聲明beans的授權需要。例如使用BEA的WebLogic服務器的配置描述符的例子:
  
  
  (accessControlEntries
  submitPurchaSEOrder [employees]
  approvePurchaseOrder [managers]
  DEFAULT [administrators]
  ); end accessControlEntries
  
  容器將在運行時自動的執行安全檢查。拋會出Java.lang.SecurityException異常。Programmatic授權檢查,必須查詢EJB上下文得到當前客戶端的授權信息。由兩種方法調用CallerInRole(Identity role)和getCallerIdentity()。
  
  isCallerInRole()
  import Java.security.Identity;
  ...
  public class Mybeans implements Sessionbeans {
  private SessionContext ctx;
  ...
  public void foo() {
  Identity id = new MyIdentity("administrators");
  if (ctx.isCallerInRole(id)) {
  System.out.println("An admin called me");
  return;
  }
  System.out.println("A non-admin called me");
  }
  }
  
  import Java.security.Identity;
  public class MyIdentity extends Identity {
  public MyIdentity(String id) {
  super(id);
  }
  }
  getCallerIdentity()
  import Java.security.Identity;
  ...
  public class Mybeans implements Sessionbeans {
  private SessionContext ctx;
  ...
  public void bar() {
  Identity id = ctx.getCallerIdentity();
  String name = id.getName();
  System.out.println("The caller′s name is " + name);
  }
  }
  
  了解EJB對象的操作,許多EJB應用程序需要客戶端有與beans斷開的能力,還要有與beans重建連接的能力。EJB提供了EJB object handles。EJB對象操作對于EJB對象是一個長生命期的代理??梢杂盟鼇碇亟ㄅcEJB對象的連接,并保證會話狀態不被丟失。下面是EJB對象操作的代碼:
  
  // First, get the EJB object handle from the EJB object.
  Javax.ejb.Handle myHandle = myEJBObject.getHandle();
  // Next, serialize myHandle, and then save it in
  // permanent storage.
  ObjectOutputStream stream = ...;
  stream.writeObject(myHandle);
  // time passes...
  // When we want to use the EJB object again,
  // deserialize the EJB object handle
  ObjectInputStream stream = ...;
  Handle myHandle = (Handle) stream.readObject();
  // Convert the EJB object handle back into an EJB object
  MyRemoteInterface myEJBObject =
  (MyRemoteInterface) myHandle.getEJBObject();
  // Resume calling methods again
  myEJBObject.callMethod();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
2019国产精品自在线拍国产不卡| 欧美在线视频免费播放| 亚洲美女视频网站| 亚洲伊人成综合成人网| 亚洲色图狂野欧美| 亚洲国内精品视频| 亚洲免费av网址| 亚洲天堂男人的天堂| 欧美午夜精品久久久久久人妖| 国产伦精品一区二区三区精品视频| 国产成人一区三区| 日韩欧美中文字幕在线播放| 久久夜色精品亚洲噜噜国产mv| 色综合视频一区中文字幕| 欧美重口另类videos人妖| 国内精品在线一区| 国产精品99久久久久久人| 日韩成人在线网站| 久久露脸国产精品| 尤物精品国产第一福利三区| 欧美视频在线免费看| 久久成人一区二区| 综合网日日天干夜夜久久| 亚洲福利在线播放| 在线成人激情黄色| 国产精品视频一区二区三区四| 午夜精品一区二区三区在线| 91精品国产免费久久久久久| 日韩大陆欧美高清视频区| 精品免费在线观看| 日韩成人黄色av| 国产一区二区三区丝袜| 国产亚洲精品久久| 中文字幕精品影院| 欧美激情一区二区三级高清视频| 国产精品国产福利国产秒拍| 午夜精品久久久久久久男人的天堂| 国产精品∨欧美精品v日韩精品| 亚洲xxxx视频| 欧美激情视频一区| 日韩美女毛茸茸| 国产一区二区三区三区在线观看| 欧美日韩亚洲国产一区| 亚洲免费成人av电影| 成人妇女免费播放久久久| 亚洲免费精彩视频| 欧美福利视频在线观看| 国产精品第8页| 欧美日本啪啪无遮挡网站| 一本色道久久综合狠狠躁篇怎么玩| 亚洲日本aⅴ片在线观看香蕉| 91麻豆国产语对白在线观看| 亚洲aa中文字幕| 亚洲人成在线观看| www高清在线视频日韩欧美| 亚洲性69xxxbbb| 97人人模人人爽人人喊中文字| 隔壁老王国产在线精品| 91精品中国老女人| 国产欧美日韩最新| 亚洲伊人久久大香线蕉av| 久久精品99久久久久久久久| 最近2019年中文视频免费在线观看| 精品久久久久久久久久| 亚洲欧美激情另类校园| 国产日韩精品在线播放| 欧美成人h版在线观看| 国产精品欧美一区二区三区奶水| 国产精品稀缺呦系列在线| 亚洲999一在线观看www| 欧美另类99xxxxx| 自拍视频国产精品| 亚洲一区二区久久| 色悠悠国产精品| 欧美xxxx做受欧美.88| 久久夜精品香蕉| 久久久久久国产免费| 亚洲欧美国产一区二区三区| 91免费在线视频网站| 国产精品自拍网| 国产精品va在线播放我和闺蜜| 91精品久久久久久久久不口人| 亚洲人成在线观看网站高清| 欧美富婆性猛交| 自拍亚洲一区欧美另类| 美女撒尿一区二区三区| 国产精品自拍偷拍| 久久久久久久97| 亚洲第一av网站| 国产精品久久久久久av福利软件| 国产精品视频白浆免费视频| 久久福利视频导航| 国产精品久久久久久久9999| 国产自产女人91一区在线观看| 久久久国产成人精品| 亚洲免费av片| 久久97精品久久久久久久不卡| 欧美日韩亚洲一区二区| 久久久久免费精品国产| 国产精品久久久久久久久久久久久| 欧美精品在线看| 欧美激情乱人伦一区| 久久影院资源站| 国产精品老牛影院在线观看| 综合久久五月天| 欧美日韩高清在线观看| 久久久久久亚洲精品| 久久久久久国产精品三级玉女聊斋| 精品久久久国产| 92版电视剧仙鹤神针在线观看| 国产精品久久久久久久久久久久| 欧美最顶级丰满的aⅴ艳星| 欧美在线视频观看免费网站| 欧美激情xxxx性bbbb| 在线观看日韩欧美| 亚洲亚裔videos黑人hd| 欧美电影电视剧在线观看| 欧美日本国产在线| 日韩av在线免播放器| 国产日韩欧美日韩| 亚洲欧美日韩天堂一区二区| 国产精品专区一| 成人黄色短视频在线观看| 亚洲2020天天堂在线观看| 国产精品久久久久久超碰| 国产精品入口夜色视频大尺度| 日韩欧美aⅴ综合网站发布| 成人精品aaaa网站| 亚洲国产三级网| 国产精品麻豆va在线播放| 日本亚洲精品在线观看| 日韩一区二区在线视频| 亚洲国语精品自产拍在线观看| 亚洲国产精品一区二区久| 日韩精品极品在线观看播放免费视频| 精品无人区太爽高潮在线播放| 欧美一级淫片videoshd| 亚洲第一天堂av| 大伊人狠狠躁夜夜躁av一区| 亚洲精品理论电影| 亚洲sss综合天堂久久| 裸体女人亚洲精品一区| 精品香蕉在线观看视频一| 国产精品国产自产拍高清av水多| 亚洲理论电影网| 亚洲黄色av女优在线观看| 欧美高清激情视频| 日本久久久久久| 91色中文字幕| 欧美精品xxx| 91精品免费看| 国产一区二区三区在线免费观看| 91久久精品国产91性色| 国内揄拍国内精品少妇国语| 久久精品亚洲国产| 日韩中文av在线| 久久亚洲精品视频| 欧美成人午夜免费视在线看片| 日韩亚洲成人av在线| 97成人在线视频| 91香蕉亚洲精品| 欧美日韩在线一区| 欧美激情a∨在线视频播放| 国产999在线观看|