1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.cubby.validator.validators;
17
18 import javax.servlet.http.HttpSession;
19
20 import org.seasar.cubby.controller.ThreadContext;
21 import org.seasar.cubby.tags.TokenTag;
22 import org.seasar.cubby.util.TokenHelper;
23 import org.seasar.cubby.validator.ArrayFieldValidator;
24 import org.seasar.cubby.validator.MessageHelper;
25 import org.seasar.cubby.validator.ValidationContext;
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 public class TokenValidator implements ArrayFieldValidator {
42
43 private final MessageHelper messageHelper;
44
45
46
47
48 public TokenValidator() {
49 this("valid.token");
50 }
51
52
53
54
55
56
57
58 public TokenValidator(final String messageKey) {
59 this.messageHelper = new MessageHelper(messageKey);
60 }
61
62
63
64
65 public void validate(final ValidationContext context, final Object[] values) {
66 if (values != null && values.length != 1) {
67 context.addMessageInfo(this.messageHelper.createMessageInfo());
68 } else {
69 final String token = (String) values[0];
70 final HttpSession session = ThreadContext.getRequest().getSession();
71 if (!TokenHelper.validateToken(session, token)) {
72 context.addMessageInfo(this.messageHelper.createMessageInfo());
73 }
74 }
75 }
76 }