Refactor Shiro/HTTP integration
[aaa.git] / aaa-shiro / impl / src / main / java / org / opendaylight / aaa / shiro / web / env / ShiroWebContextSecurer.java
index 53a7068ba53bcadbb3c1985157e6c90f7e6d617e..3e0cf68b215e7a262ab56a021b1bea6a2b5a9085 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.aaa.shiro.web.env;
 
 import static java.util.Objects.requireNonNull;
 
-import org.apache.shiro.web.env.EnvironmentLoaderListener;
+import org.apache.shiro.web.env.WebEnvironment;
 import org.opendaylight.aaa.shiro.filters.AAAShiroFilter;
 import org.opendaylight.aaa.web.FilterDetails;
 import org.opendaylight.aaa.web.WebContext;
@@ -22,20 +22,19 @@ import org.opendaylight.aaa.web.WebContextSecurer;
  * @author Michael Vorburger.ch
  */
 public class ShiroWebContextSecurer implements WebContextSecurer {
-    private final EnvironmentLoaderListener environmentLoaderListener;
+    private final WebEnvironment webEnvironment;
 
-    public ShiroWebContextSecurer(final EnvironmentLoaderListener environmentLoaderListener) {
-        this.environmentLoaderListener = requireNonNull(environmentLoaderListener);
+    public ShiroWebContextSecurer(final WebEnvironment webEnvironment) {
+        this.webEnvironment = requireNonNull(webEnvironment);
     }
 
     @Override
     public void requireAuthentication(final WebContextBuilder webContextBuilder, final boolean asyncSupported,
             final String... urlPatterns) {
         webContextBuilder
-            .addListener(environmentLoaderListener)
             // AAA filter in front of these REST web services as well as for moon endpoints
             .addFilter(FilterDetails.builder()
-                .filter(new AAAShiroFilter())
+                .filter(new AAAShiroFilter(webEnvironment))
                 .addUrlPatterns(urlPatterns)
                 .asyncSupported(asyncSupported)
                 .build());