我有在 Windows 上运行的 Websphere Application Server 7.0 版。我创建了一个实现 javax.security.auth.spi.LoginModule 接口的 JAAS 登录模块,并创建了一个使用此登录模块的数据源(在 Mapping-Configuration 别名下)。由于此数据源应从登录模块获取连接凭据,因此数据源上没有配置身份验证别名。
我想在我的应用程序上使用这个数据源,但我的应用程序使用直接 JNDI 查找数据源。根据这篇文章,当使用直接 JNDI 查找时,websphere 会创建一个默认资源引用,该资源引用配置为 res-auth=application。由于 res-auth 是应用程序,因此我的登录模块永远不会被调用,但由于“组件管理的身份验证别名”为空,因此出现登录被拒绝错误。我尝试使用 res-auth=Container 手动创建资源引用,但没有帮助。
有什么办法可以将默认的 res-auth 更改为 Container?当 res-auth 设置为 Application 时,有什么方法可以使登录模块工作?
谢谢。