1
2
3
4
5
6
7 package org.mule.security;
8
9 import org.mule.api.NamedObject;
10 import org.mule.api.lifecycle.InitialisationException;
11 import org.mule.api.security.Authentication;
12 import org.mule.api.security.SecurityContext;
13 import org.mule.api.security.SecurityContextFactory;
14 import org.mule.api.security.SecurityProvider;
15 import org.mule.api.security.UnknownAuthenticationTypeException;
16
17
18 public abstract class AbstractSecurityProvider implements SecurityProvider, NamedObject
19 {
20 private String name;
21 private SecurityContextFactory securityContextFactory;
22
23 public AbstractSecurityProvider(String name)
24 {
25 this.name = name;
26 }
27
28 public final void initialise() throws InitialisationException
29 {
30 doInitialise();
31
32 if (securityContextFactory == null)
33 {
34 securityContextFactory = new DefaultSecurityContextFactory();
35 }
36 }
37
38 protected void doInitialise() throws InitialisationException
39 {
40
41 }
42
43 public boolean supports(Class aClass)
44 {
45 return Authentication.class.isAssignableFrom(aClass);
46 }
47
48 public SecurityContext createSecurityContext(Authentication authentication)
49 throws UnknownAuthenticationTypeException
50 {
51 return securityContextFactory.create(authentication);
52 }
53
54 public String getName()
55 {
56 return name;
57 }
58
59 public void setName(String name)
60 {
61 this.name = name;
62 }
63
64 public SecurityContextFactory getSecurityContextFactory()
65 {
66 return securityContextFactory;
67 }
68
69 public void setSecurityContextFactory(SecurityContextFactory securityContextFactory)
70 {
71 this.securityContextFactory = securityContextFactory;
72 }
73 }