假設follwing方法:有沒有Java EE的方式來改變用戶?
Test getTest()
{
Properties props = new Properties();
props.put(javax.naming.Context.SECURITY_PRINCIPAL, "OtherUser");
props.put(javax.naming.Context.SECURITY_CREDENTIALS, "OtherPassword");
InitialContext ic = new InitialContext(props);
return (TestHome)PortableRemoteObject.narrow(ic.lookup("ejb/Test"),
TestHome.class).create();
}
如果此方法(在EJB)從客戶端使用用戶「MYUSER」稱爲我想它與不同的呼叫者主要返回EJB。然後客戶的測試呼叫將被記錄爲來自「其他用戶」。即我已經程序化地改變了給定EJB的客戶端調用者主體。
但是,我在Java EE規範中找不到任何文本,儘管它適用於我們當前的Java EE應用程序服務器(Sybase EAS 4.1),但我想問問您是否是Java EE標準方法或不。
在Java EE中,JAAS並不是您可能認爲的整體安全框架。例如JBoss中的登錄模塊僅基於JAAS。使用Java EE進行登錄/註銷的官方API是JASPIC。這是來自Java EE中許多安全API的人員中的一篇相當不錯的文章:http://java.sys-con.com/node/1002315 – 2013-05-20 07:46:29