Jakarta ee 在GlassFish中,在编写JCA适配器时,是否有办法将匿名用户映射到EIS用户?

Jakarta ee 在GlassFish中,在编写JCA适配器时,是否有办法将匿名用户映射到EIS用户?,jakarta-ee,glassfish,ejb-3.0,jca,Jakarta Ee,Glassfish,Ejb 3.0,Jca,我已经为遗留系统创建了自己的JCA->EIS适配器。连接到旧系统时,我无法进行身份验证 这很难解释。在GlassFish v3.1.1中,在创建并安装了自己的JCA适配器之后,有一个名为“工作安全映射”的选项卡。这似乎是为EIS系统输入用户名/密码的唯一位置。我希望与匿名(未经验证)用户一起运行EJB,但为了填写EIS密码,似乎必须指定组或用户映射 有没有办法让JCA适配器的所有调用都使用相同的用户名/密码访问EIS系统 所需的行为类似于JDBC的工作方式。我的数据库有一个用户名/密码。我的应用

我已经为遗留系统创建了自己的JCA->EIS适配器。连接到旧系统时,我无法进行身份验证

这很难解释。在GlassFish v3.1.1中,在创建并安装了自己的JCA适配器之后,有一个名为“工作安全映射”的选项卡。这似乎是为EIS系统输入用户名/密码的唯一位置。我希望与匿名(未经验证)用户一起运行EJB,但为了填写EIS密码,似乎必须指定组或用户映射

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

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

编辑: 正如第一个答案中所讨论的,您可以使用配置属性来实现这一点。然而,我不认为根据JCA规范,这是正确的方法。在Websphere中,您可以在调用subject时将JAAS凭据分配为“组件管理的身份验证别名”


我似乎不能用玻璃鱼做这件事。如果调用Subject.getPrivateCresidences(PasswordCredential.class),将返回一组带有空白字符串的凭据。

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

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

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


我试图在GlassFish jira上记录一个bug,详细说明如下:

事实证明,不使用ra.xml中的config属性就可以做到这一点。诀窍是,您必须使用ejb-jar.xml。GlassFish中似乎存在一个bug,纯基于注释的EJB不使用基于容器的身份验证


我正试图在GlassFish jira上记录一个bug,详细说明这一点:

是的,这是一个选项,我们最初就是这样做的。然而,这将密码存储在明文中。这不是我希望的解决方案,但这是我们实现的。GlassFish似乎无法在控制台中为resoruce设置默认主体。您可以在编译到war/ear的绑定文件中指定它。是的,这是一个选项,我们最初就是这样做的。然而,这将密码存储在明文中。这不是我希望的解决方案,但这是我们实现的。GlassFish似乎无法在控制台中为resoruce设置默认主体。您可以在编译到war/ear的绑定文件中指定它!错误报告已被接受,并将在GlassFish 3.1.2和4.0中修复。我是对的!错误报告已被接受,并将在GlassFish 3.1.2和4.0中修复