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;
* @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());