1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.acegisecurity;
17
18 import org.acegisecurity.providers.anonymous.AnonymousAuthenticationToken;
19 import org.acegisecurity.providers.rememberme.RememberMeAuthenticationToken;
20
21
22 /***
23 * Basic implementation of {@link AuthenticationTrustResolver}.
24 *
25 * <p>
26 * Makes trust decisions based on whether the passed
27 * <code>Authentication</code> is an instance of a defined class.
28 * </p>
29 *
30 * <p>
31 * If {@link #anonymousClass} or {@link #rememberMeClass} is <code>null</code>,
32 * the corresponding method will always return <code>false</code>.
33 * </p>
34 *
35 * @author Ben Alex
36 * @version $Id: AuthenticationTrustResolverImpl.java,v 1.4 2005/11/17 00:55:49 benalex Exp $
37 */
38 public class AuthenticationTrustResolverImpl
39 implements AuthenticationTrustResolver {
40
41
42 private Class anonymousClass = AnonymousAuthenticationToken.class;
43 private Class rememberMeClass = RememberMeAuthenticationToken.class;
44
45
46
47 public boolean isAnonymous(Authentication authentication) {
48 if ((anonymousClass == null) || (authentication == null)) {
49 return false;
50 }
51
52 return anonymousClass.isAssignableFrom(authentication.getClass());
53 }
54
55 public void setAnonymousClass(Class anonymousClass) {
56 this.anonymousClass = anonymousClass;
57 }
58
59 public Class getAnonymousClass() {
60 return anonymousClass;
61 }
62
63 public boolean isRememberMe(Authentication authentication) {
64 if ((rememberMeClass == null) || (authentication == null)) {
65 return false;
66 }
67
68 return rememberMeClass.isAssignableFrom(authentication.getClass());
69 }
70
71 public void setRememberMeClass(Class rememberMeClass) {
72 this.rememberMeClass = rememberMeClass;
73 }
74
75 public Class getRememberMeClass() {
76 return rememberMeClass;
77 }
78 }