]
Derek Horton updated WFLY-10449:
--------------------------------
Summary: [GSS] (7.2.z) Unsecured EJB causes "Multiple security domains"
exception (was: [GSS] *7.2.z) Unsecured EJB causes "Multiple security domains"
exception)
[GSS] (7.2.z) Unsecured EJB causes "Multiple security
domains" exception
------------------------------------------------------------------------
Key: WFLY-10449
URL:
https://issues.jboss.org/browse/WFLY-10449
Project: WildFly
Issue Type: Bug
Components: EJB, Security
Affects Versions: 12.0.0.Final
Reporter: Derek Horton
Assignee: Jan Kalina
Priority: Critical
Fix For: 13.0.0.Beta1
When trying to deploy deployment containing following two EJBs, secured and unsecured,
deploying fails with "Multiple security domains not supported" exception:
{code}
21:16:30,089 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001:
Failed to start service
jboss.deployment.unit."ejb-deployment-1.0-SNAPSHOT.war".POST_MODULE:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."ejb-deployment-1.0-SNAPSHOT.war".POST_MODULE:
WFLYSRV0153: Failed to process phase POST_MODULE of deployment
"ejb-deployment-1.0-SNAPSHOT.war"
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:150)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1714)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1693)
at
org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1540)
at
org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEJB0490:
Multiple security domains not supported
at
org.jboss.as.ejb3.deployment.processors.EJBDefaultSecurityDomainProcessor.deploy(EJBDefaultSecurityDomainProcessor.java:99)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:143)
... 8 more
{code}
This behavior was in JBEAP-9289 considered correct for situation when one EJB references
one security domain and the second references second security domain.
It seems unsecured EJB is considered to be using default security domain.
*Workaround:* Need to set unsecured bean secured by adding:
{code}
@PermitAll
@SecurityDomain("other2") // the same as for secured ejb
{code}