Websphere-使用直接JNDI查找和JAAS登录模块

Websphere-使用直接JNDI查找和JAAS登录模块,websphere,jndi,jaas,Websphere,Jndi,Jaas,我有运行在Windows上的Websphere Application Server 7.0版。 我创建了一个实现javax.security.auth.spi.LoginModule接口的JAAS登录模块,并创建了一个使用该登录模块的数据源(在映射配置别名下)。由于此数据源应从登录模块获取连接的凭据,因此数据源上未配置身份验证别名 我想在我的应用程序上使用此数据源,但我的应用程序对数据源使用直接JNDI查找。根据这篇文章,当使用直接JNDI查找时,websphere会创建一个默认的资源引用,该

我有运行在Windows上的Websphere Application Server 7.0版。 我创建了一个实现javax.security.auth.spi.LoginModule接口的JAAS登录模块,并创建了一个使用该登录模块的数据源(在映射配置别名下)。由于此数据源应从登录模块获取连接的凭据,因此数据源上未配置身份验证别名

我想在我的应用程序上使用此数据源,但我的应用程序对数据源使用直接JNDI查找。根据这篇文章,当使用直接JNDI查找时,websphere会创建一个默认的资源引用,该引用由res auth=application配置。由于res auth是应用程序,因此从未调用我的登录模块,但由于“组件管理的身份验证别名”为空,我收到一个拒绝登录错误。 我尝试使用res auth=Container手动创建资源引用,但没有帮助

有没有办法将默认的res auth更改为容器? 当res auth设置为Application时,有没有办法使登录模块工作


谢谢。

转到数据源>>安全设置>>为组件管理的身份验证别名和容器管理的身份验证别名选择jaas登录模块


关于,

u可以将web.xml文件中的res auth更改为container,因此它将使用container managed authenization别名。

似乎与您链接的文章是同一篇文章,但措辞上的一点变化似乎使它更易于理解,至少对我来说是这样。我认为应该使用间接jndi名称,而不是使用jdbc/xxx名称直接查找。引用时,保留java:comp/env前缀。间接名称使与应用程序关联的任何资源引用数据可用于连接管理运行时,以便基于res auth更好地管理资源。。。