JAAS - J2C身份验证数据

时间:2011-12-12 19:19:27

标签: java web-applications websphere jndi

了解如何读取WAS 7中配置的J2C认证别名(UserId& Password)。

这有助于我出于安全原因避免在生产中的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”);

2 个答案:

答案 0 :(得分:2)

您可以使用DefaultPrincipalMapping JAAS配置访问存储在J2C身份验证别名中的凭据。请检查this answer

答案 1 :(得分:1)

您通常不会直接读取该数据,而是在部署时将其附加到资源引用,或者在IBM特定的.xmi文件中附加。

在您的web.xml中,对于resource-ref有问题,请使用此子元素指示J2EE容器将管理对资源的身份验证:

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

然后,在WebSphere管理控制台中,单击您的企业应用程序,然后单击Resource references链接,然后对于特定资源类型,您应该有Specify authentication method的配置块,您将在其中能够从您定义的J2C别名中进行选择。

或者,您也可以永久地为资源分配别名,而不是为特定应用程序使用该资源。 (例如,为特定的DataSource分配特定的别名)。但是,我们更喜欢前者,因为它不会让部署在同一服务器上的所有其他应用程序自动访问资源。