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

Reply via email to