2011-12-12 65 views
1

在配置如何讀取J2C認證別名(用戶ID &密碼)的任何想法是7JAAS - J2C認證數據

這將幫助我避免在生產中設置這些憑據文本在XML文件中安全起見

我這不工作

com.ibm.ws.security.core.SecurityConfig securityConfig = com.ibm.ws.security.core.SecurityConfig.getConfig()的一些代碼; 屬性authProperties = securityConfig.getAuthData(「widNode/LDAPAuthentication」); String user = authProperties.getProperty(「username」); String password = authProperties.getProperty(「password」);

+0

可能的[如何從EJB部署到Websphere 6.1訪問認證別名]的副本(http://stackoverflow.com/questions/4663534/how-to-access-authentication-alias-from-ejb-deployed-to- websphere-6-1) – fnt

回答

1

您通常不會直接讀取該數據,而是在部署時將其附加到資源引用或IBM特定的.xmi文件中。

在你的web.xml文件,爲resource-ref在-問題,使用此子元素,以表明J2EE容器來管理認證的資源:

<res-auth>Container</res-auth> 

然後,在WebSphere管理控制檯,點擊你的企業應用程序,然後點擊Resource references鏈接,然後對於特定的資源類型,你應該有一個配置塊到Specify authentication method,在那裏你可以從你定義的J2C別名中進行選擇。

或者,您也可以將一個別名永久地分配給資源,而不是分配給特定應用程序使用該資源。 (例如,將特定的別名分配給特定的數據源)。不過,我們更喜歡前者,因爲它不會讓部署在同一臺服務器上的所有其他應用程序自動訪問資源。

+1

這是正確的,我很欣賞的答覆,但我的目標是閱讀和使用J2C身份驗證配置的別名數據,如userId和密碼從我的java代碼 – iamiddy

+0

好吧。如果這實際上不可能,我不會感到驚訝,但我承認我不知道,也從未嘗試過。 – dbreaux

2

您可以使用DefaultPrincipalMapping JAAS配置訪問存儲在J2C認證別名中的憑證。請檢查this answer