View Javadoc

1   /*
2    * $Id: UMOSecurityManager.java 7963 2007-08-21 08:53:15Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.umo.security;
12  
13  import org.mule.umo.UMOEncryptionStrategy;
14  import org.mule.umo.lifecycle.Initialisable;
15  
16  import java.util.List;
17  
18  /**
19   * <code>UMOSecurityManager</code> is responsible for managing a one or more
20   * security providers.
21   */
22  
23  public interface UMOSecurityManager extends Initialisable
24  {
25      UMOAuthentication authenticate(UMOAuthentication authentication)
26          throws SecurityException, SecurityProviderNotFoundException;
27  
28      void addProvider(UMOSecurityProvider provider);
29  
30      UMOSecurityProvider getProvider(String name);
31  
32      UMOSecurityProvider removeProvider(String name);
33  
34      List getProviders();
35  
36      void setProviders(List providers);
37  
38      UMOSecurityContext createSecurityContext(UMOAuthentication authentication)
39          throws UnknownAuthenticationTypeException;
40  
41      UMOEncryptionStrategy getEncryptionStrategy(String name);
42  
43      void addEncryptionStrategy(String name, UMOEncryptionStrategy strategy);
44  
45      UMOEncryptionStrategy removeEncryptionStrategy(String name);
46  }