1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.guice.web;
20
21 import com.google.inject.Inject;
22 import com.google.inject.Singleton;
23 import org.apache.shiro.mgt.SecurityManager;
24 import org.apache.shiro.web.env.EnvironmentLoaderListener;
25 import org.apache.shiro.web.env.WebEnvironment;
26 import org.apache.shiro.web.filter.mgt.FilterChainResolver;
27 import org.apache.shiro.web.mgt.WebSecurityManager;
28
29 import javax.inject.Named;
30 import javax.servlet.ServletContext;
31
32 @Singleton
33 class WebGuiceEnvironment implements WebEnvironment {
34 private FilterChainResolver filterChainResolver;
35 private ServletContext servletContext;
36 private WebSecurityManager securityManager;
37
38 @Inject
39 WebGuiceEnvironment(FilterChainResolver filterChainResolver, @Named(ShiroWebModule.NAME) ServletContext servletContext, WebSecurityManager securityManager) {
40 this.filterChainResolver = filterChainResolver;
41 this.servletContext = servletContext;
42 this.securityManager = securityManager;
43
44 servletContext.setAttribute(EnvironmentLoaderListener.ENVIRONMENT_ATTRIBUTE_KEY, this);
45 }
46
47 public FilterChainResolver getFilterChainResolver() {
48 return filterChainResolver;
49 }
50
51 public ServletContext getServletContext() {
52 return servletContext;
53 }
54
55 public WebSecurityManager getWebSecurityManager() {
56 return securityManager;
57 }
58
59 public SecurityManager getSecurityManager() {
60 return securityManager;
61 }
62 }