1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.acegisecurity.providers.cas.proxy;
17
18 import org.acegisecurity.AcegiMessageSource;
19
20 import org.acegisecurity.providers.cas.CasProxyDecider;
21 import org.acegisecurity.providers.cas.ProxyUntrustedException;
22
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25
26 import org.springframework.beans.factory.InitializingBean;
27
28 import org.springframework.context.MessageSource;
29 import org.springframework.context.MessageSourceAware;
30 import org.springframework.context.support.MessageSourceAccessor;
31
32 import org.springframework.util.Assert;
33
34 import java.util.List;
35
36
37
38
39
40
41 public class RejectProxyTickets implements CasProxyDecider, MessageSourceAware, InitializingBean {
42
43
44 private static final Log logger = LogFactory.getLog(RejectProxyTickets.class);
45
46
47
48 protected MessageSourceAccessor messages = AcegiMessageSource.getAccessor();
49
50
51
52 public void afterPropertiesSet() throws Exception {
53 Assert.notNull(this.messages, "A message source must be set");
54 }
55
56 public void confirmProxyListTrusted(List proxyList)
57 throws ProxyUntrustedException {
58 Assert.notNull(proxyList, "proxyList cannot be null");
59
60 if (proxyList.size() == 0) {
61
62 return;
63 }
64
65 if (logger.isDebugEnabled()) {
66 logger.debug("Proxies are unacceptable; proxy list provided: " + proxyList.toString());
67 }
68
69 throw new ProxyUntrustedException(
70 messages.getMessage("RejectProxyTickets.reject", "Proxy tickets are rejected"));
71 }
72
73 public void setMessageSource(MessageSource messageSource) {
74 this.messages = new MessageSourceAccessor(messageSource);
75 }
76 }