1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.samples.spring;
20
21 import org.slf4j.Logger;
22 import org.slf4j.LoggerFactory;
23
24 import org.apache.shiro.SecurityUtils;
25 import org.apache.shiro.session.Session;
26 import org.apache.shiro.subject.Subject;
27
28
29
30
31
32
33
34
35 public class DefaultSampleManager implements SampleManager {
36
37
38
39
40
41
42
43 private static final String VALUE_KEY = "sample_value";
44
45
46
47
48 private static final Logger log = LoggerFactory.getLogger(DefaultSampleManager.class);
49
50
51
52
53
54
55
56
57
58
59
60
61
62 public String getValue() {
63 String value = null;
64
65 Subject subject = SecurityUtils.getSubject();
66 Session session = subject.getSession(false);
67 if (session != null) {
68 value = (String) session.getAttribute(VALUE_KEY);
69 if (log.isDebugEnabled()) {
70 log.debug("retrieving session key [" + VALUE_KEY + "] with value [" + value + "] on session with id [" + session.getId() + "]");
71 }
72 }
73
74 return value;
75 }
76
77 public void setValue(String newValue) {
78 Subject subject = SecurityUtils.getSubject();
79 Session session = subject.getSession();
80
81 if (log.isDebugEnabled()) {
82 log.debug("saving session key [" + VALUE_KEY + "] with value [" + newValue + "] on session with id [" + session.getId() + "]");
83 }
84
85 session.setAttribute(VALUE_KEY, newValue);
86 }
87
88 public void secureMethod1() {
89 if (log.isInfoEnabled()) {
90 log.info("Secure method 1 called...");
91 }
92 }
93
94 public void secureMethod2() {
95 if (log.isInfoEnabled()) {
96 log.info("Secure method 2 called...");
97 }
98 }
99
100 public void secureMethod3() {
101 if (log.isInfoEnabled()) {
102 log.info("Secure method 3 called...");
103 }
104 }
105 }