![](/img/trans.png)
[英]Why does a LoginContext producer work in a Java EE/Servlet container?
[英]How does java LoginContext.login() work?
我有以下代碼來創建Java客戶端的配置以連接到JBoss應用程序服務器:
System.setProperty( "java.security.auth.login.config", "auth.conf" );
LoginContext auth = new LoginContext( "myAuth",
new LoginCallbackHandler( username, password ) );
auth.login();
文件auth.conf
包含以下幾行:
myAuth {
org.jboss.security.ClientLoginModule required;
};
現在,在代碼的其他地方(那里不知道LoginContext auth
),我有一個EJB,它執行initialContext.lookup( jndiName )
和narrow()
來訪問JBoss應用程序服務器上的Bean。 僅當第一步的登錄信息正確時,此narrow
才會成功。
登錄信息如何從LoginContext
傳播到LoginContext
narrow()
? 我看不到這兩個地方之間的任何聯系。
而且,如何在一個客戶端中進行兩個或多個不同的登錄?
我在JBoss文檔(第8.4.1章)中找到了一個很好的解釋:
login()
調用僅將名稱和密碼綁定到客戶端的JBoss EJB層。 所有后續的EJB調用都將使用這些憑據,並將它們傳遞給被調用的EJB方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.