首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GlassFish中,在编写JCA适配器时,有没有一种方法可以将匿名用户映射到企业信息系统用户?

在GlassFish中,在编写JCA适配器时,有没有一种方法可以将匿名用户映射到企业信息系统用户?
EN

Stack Overflow用户
提问于 2011-12-21 23:24:10
回答 2查看 421关注 0票数 1

我已经为遗留系统创建了自己的JCA->EIS适配器。我在连接到旧系统时遇到身份验证问题。

这是相当难解释的。在JCAV3.1.1中,在创建自己的GlassFish适配器并安装它之后,有一个名为"Work Security Maps“的选项卡。这似乎是为EIS系统输入用户名/密码的唯一位置。我希望使用匿名(未经身份验证)用户运行EJB,但是为了填写EIS密码,您似乎必须指定一个组或用户映射。

有没有办法让JCA适配器的所有调用都使用相同的用户名/密码访问EIS系统?

所需的行为类似于JDBC的工作方式。我的数据库只有一个用户名/密码。我的应用程序注入了一个数据源,但我不必将当前用户映射到数据库用户。

编辑:正如在第一个答案中所讨论的,您可以使用config-properties来实现此功能。但是,根据JCA规范,我不认为这是正确的方法。在Websphere中,您可以在调用subject时将JAAS凭据指定为“组件管理的身份验证别名”。

我似乎不能在GlassFish中做到这一点。如果调用Subject.getPrivateCredentials(PasswordCredential.class),就会得到一组包含空字符串的凭据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-22 23:51:49

在JDBC RA (或我最近使用的配置RA )中,您可以在资源适配器属性(ra.xml中的ActiveMQ -property)中设置用户名和密码。您可能希望在资源适配器中以类似的方式实现它。

票数 1
EN

Stack Overflow用户

发布于 2012-01-03 06:35:16

事实证明,在不使用ra.xml中的config-property的情况下,很有可能做到这一点。诀窍是,您必须使用ejb-jar.xml。在基于纯注解的EJB不使用基于容器的身份验证的情况下,GlassFish中似乎存在一个错误。

我正在尝试在GlassFish jira上记录一个bug,详细说明这一点:http://java.net/jira/browse/GLASSFISH-18096

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8592178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档