3

我有在 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 时,有什么方法可以使登录模块工作?

谢谢。

4

2 回答 2

0

您可以将 web.xml 文件中的 res-auth 更改为容器,因此它将使用容器管理的身份验证别名。

于 2014-03-21T13:40:10.833 回答
0

转到您的数据源 >> 安全设置 >> 为Component-managed authentication alias&选择您的 jaas 登录模块Container-managed authentication alias

问候,

于 2013-04-18T01:20:11.023 回答