[jboss-jira] [JBoss JIRA] (WFCORE-4668) Transaction recovery of remote ejb calls should not be using static Default AuthenticationContext
Ondrej Chaloupka (Jira)
issues at jboss.org
Mon Sep 16 08:36:00 EDT 2019
Ondrej Chaloupka created WFCORE-4668:
----------------------------------------
Summary: Transaction recovery of remote ejb calls should not be using static Default AuthenticationContext
Key: WFCORE-4668
URL: https://issues.jboss.org/browse/WFCORE-4668
Project: WildFly Core
Issue Type: Bug
Components: Security
Affects Versions: 10.0.0.Beta9
Reporter: Ondrej Chaloupka
Assignee: Darran Lofthouse
The issue WFCORE-4599 removed the `AuthenticationContext` would be static. This started to cause troubles for transaction recovery processing when remote ejb calls are invoked.
The configuration that was used earlier for server to server ejb calls[1] (used with `-Dwildfly.config.url`) stopped working.
It was possible to configure the default authentication context in the `standalone.xml` for the whole elytron subsystem (in way like [2]). But this change started to cause threads being stuck on execution of remote ejb calls in WFTC (somewhere here [3]).
Because of that the WFCORE-4659 reverted back the functionality of static global authentication context. This was rather a bit workaround as the functionality should be rather working as Stuart pointed out
{quote}
- Add an explicit config to specify the authentication context used by transaction recovery
- If this is not set fall back to the default authentication context that is used by deployments
- If none of the above are set then the auth context should be empty
{quote}
[1]
{code}
<configuration>
<authentication-client xmlns="urn:elytron:1.0">
<authentication-rules>
<rule use-configuration="jta">
<match-abstract-type name="jta" authority="jboss"/>
</rule>
</authentication-rules>
<authentication-configurations>
<configuration name="jta">
<sasl-mechanism-selector selector="DIGEST-MD5"/>
<providers>
<use-service-loader />
</providers>
<set-user-name name="ejb"/>
<credentials>
<clear-password password="ejb"/>
</credentials>
<set-mechanism-realm name="ApplicationRealm" />
</configuration>
</authentication-configurations>
</authentication-client>
</configuration>
{code}
[2]
{code}
<subsystem xmlns="urn:wildfly:elytron:8.0" final-providers="combined-providers" disallowed-providers="OracleUcrypto" default-authentication-context="jta">
<authentication-client>
<authentication-configuration name="jta" authentication-name="ejb" realm="ApplicationRealm" sasl-mechanism-selector="DIGEST-MD5">
<credential-reference clear-text="ejb"/>
</authentication-configuration>
<authentication-context name="jta">
<match-rule match-abstract-type-authority="jboss" authentication-configuration="jta"/>
</authentication-context>
</authentication-client>
{code}
[3] https://github.com/wildfly/wildfly-transaction-client/blob/master/src/main/java/org/wildfly/transaction/client/provider/remoting/RemotingRemoteTransactionPeer.java#L84
--
This message was sent by Atlassian Jira
(v7.13.5#713005)
More information about the jboss-jira
mailing list