Repository: tomee Updated Branches: refs/heads/master dc08c8196 -> 4fae7b396
TOMEE-1822 ensure TomEERealm gets the SecurityService whatever flavor or tomee we use Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/4fae7b39 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/4fae7b39 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/4fae7b39 Branch: refs/heads/master Commit: 4fae7b39672510ab482bbb6374edd2dfe411d542 Parents: dc08c81 Author: Romain manni-Bucau <[email protected]> Authored: Wed Jun 1 13:13:53 2016 +0200 Committer: Romain manni-Bucau <[email protected]> Committed: Wed Jun 1 13:13:53 2016 +0200 ---------------------------------------------------------------------- .../java/org/apache/tomee/catalina/TomEERealm.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/4fae7b39/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java ---------------------------------------------------------------------- diff --git a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java index 873a706..2a5c87e 100644 --- a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java +++ b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java @@ -16,6 +16,7 @@ */ package org.apache.tomee.catalina; +import org.apache.catalina.LifecycleException; import org.apache.catalina.Realm; import org.apache.catalina.Wrapper; import org.apache.catalina.connector.Request; @@ -34,9 +35,11 @@ import java.security.cert.X509Certificate; public class TomEERealm extends CombinedRealm { public static final String SECURITY_NOTE = TomEERealm.class.getName() + ".securityContext"; - private final TomcatSecurityService securityService; + private TomcatSecurityService securityService; - public TomEERealm() { + @Override + protected void startInternal() throws LifecycleException { + super.startInternal(); this.securityService = (TomcatSecurityService) SystemInstance.get().getComponent(SecurityService.class); } @@ -91,8 +94,11 @@ public class TomEERealm extends CombinedRealm { } private Principal logInTomEE(final Principal pcp) { - if (pcp == null || securityService == null) { - return pcp; + if (pcp == null) { + return null; + } + if (securityService == null) { // tomee-embedded get it later than startInternals so we need it this way + securityService = (TomcatSecurityService) SystemInstance.get().getComponent(SecurityService.class); } // normally we don't care about oldstate because the listener already contains one
