1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.spring.web.config;
20
21
22 import org.apache.shiro.mgt.SecurityManager;
23 import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
24 import org.springframework.beans.factory.annotation.Autowired;
25 import org.springframework.beans.factory.annotation.Value;
26
27 import javax.servlet.Filter;
28 import java.util.Map;
29
30
31
32
33 public class AbstractShiroWebFilterConfiguration {
34
35 @Autowired
36 protected SecurityManager securityManager;
37
38 @Autowired
39 protected ShiroFilterChainDefinition shiroFilterChainDefinition;
40
41 @Autowired
42 protected Map<String, Filter> filterMap;
43
44 @Value("#{ @environment['shiro.loginUrl'] ?: '/login.jsp' }")
45 protected String loginUrl;
46
47 @Value("#{ @environment['shiro.successUrl'] ?: '/' }")
48 protected String successUrl;
49
50 @Value("#{ @environment['shiro.unauthorizedUrl'] ?: null }")
51 protected String unauthorizedUrl;
52
53 protected ShiroFilterFactoryBean shiroFilterFactoryBean() {
54 ShiroFilterFactoryBeann.html#ShiroFilterFactoryBean">ShiroFilterFactoryBean filterFactoryBean = new ShiroFilterFactoryBean();
55
56 filterFactoryBean.setLoginUrl(loginUrl);
57 filterFactoryBean.setSuccessUrl(successUrl);
58 filterFactoryBean.setUnauthorizedUrl(unauthorizedUrl);
59
60 filterFactoryBean.setSecurityManager(securityManager);
61 filterFactoryBean.setFilterChainDefinitionMap(shiroFilterChainDefinition.getFilterChainMap());
62 filterFactoryBean.setFilters(filterMap);
63
64 return filterFactoryBean;
65 }
66 }