org.apache.qpid.server.security
Class SecurityManager

java.lang.Object
  extended by org.apache.qpid.server.security.SecurityManager

public class SecurityManager
extends Object

The security manager contains references to all loaded SecurityPlugins and delegates security decisions to them based on virtual host name. The plugins can be external OSGi .jar files that export the required classes or just internal objects for simpler plugins.

See Also:
SecurityPlugin

Nested Class Summary
static class SecurityManager.SecurityConfiguration
           
 
Constructor Summary
SecurityManager(ConfigurationPlugin configuration, PluginManager manager)
           
SecurityManager(ConfigurationPlugin configuration, PluginManager manager, SecurityPluginFactory plugin)
           
SecurityManager(SecurityManager parent)
           
 
Method Summary
 boolean accessVirtualhost(String vhostname, SocketAddress remoteAddress)
           
 void addHostPlugin(SecurityPlugin plugin)
           
 boolean authoriseBind(Exchange exch, AMQQueue queue, org.apache.qpid.framing.AMQShortString routingKey)
           
 boolean authoriseConsume(AMQQueue queue)
           
 boolean authoriseConsume(boolean exclusive, boolean noAck, boolean noLocal, boolean nowait, AMQQueue queue)
           
 boolean authoriseCreateExchange(Boolean autoDelete, Boolean durable, org.apache.qpid.framing.AMQShortString exchangeName, Boolean internal, Boolean nowait, Boolean passive, org.apache.qpid.framing.AMQShortString exchangeType)
           
 boolean authoriseCreateQueue(Boolean autoDelete, Boolean durable, Boolean exclusive, Boolean nowait, Boolean passive, org.apache.qpid.framing.AMQShortString queueName, String owner)
           
 boolean authoriseDelete(AMQQueue queue)
           
 boolean authoriseDelete(Exchange exchange)
           
 boolean authoriseMethod(Operation operation, String componentName, String methodName)
           
 boolean authoriseObject(String packageName, String className)
           
 boolean authorisePublish(boolean immediate, String routingKey, String exchangeName)
           
 boolean authorisePurge(AMQQueue queue)
           
 boolean authoriseUnbind(Exchange exch, org.apache.qpid.framing.AMQShortString routingKey, AMQQueue queue)
           
 void configureGlobalPlugins(ConfigurationPlugin configuration)
           
 void configureHostPlugins(ConfigurationPlugin hostConfig)
           
 Map<String,SecurityPlugin> configurePlugins(ConfigurationPlugin hostConfig)
           
static org.apache.log4j.Logger getLogger()
           
static Principal getThreadPrincipal()
           
static void setThreadPrincipal(Principal principal)
           
static void setThreadPrincipal(String authId)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SecurityManager

public SecurityManager(SecurityManager parent)
                throws ConfigurationException
Throws:
ConfigurationException

SecurityManager

public SecurityManager(ConfigurationPlugin configuration,
                       PluginManager manager)
                throws ConfigurationException
Throws:
ConfigurationException

SecurityManager

public SecurityManager(ConfigurationPlugin configuration,
                       PluginManager manager,
                       SecurityPluginFactory plugin)
                throws ConfigurationException
Throws:
ConfigurationException
Method Detail

getThreadPrincipal

public static Principal getThreadPrincipal()

setThreadPrincipal

public static void setThreadPrincipal(Principal principal)

setThreadPrincipal

public static void setThreadPrincipal(String authId)

configureHostPlugins

public void configureHostPlugins(ConfigurationPlugin hostConfig)
                          throws ConfigurationException
Throws:
ConfigurationException

configureGlobalPlugins

public void configureGlobalPlugins(ConfigurationPlugin configuration)
                            throws ConfigurationException
Throws:
ConfigurationException

configurePlugins

public Map<String,SecurityPlugin> configurePlugins(ConfigurationPlugin hostConfig)
                                            throws ConfigurationException
Throws:
ConfigurationException

addHostPlugin

public void addHostPlugin(SecurityPlugin plugin)

getLogger

public static org.apache.log4j.Logger getLogger()

authoriseBind

public boolean authoriseBind(Exchange exch,
                             AMQQueue queue,
                             org.apache.qpid.framing.AMQShortString routingKey)

authoriseObject

public boolean authoriseObject(String packageName,
                               String className)

authoriseMethod

public boolean authoriseMethod(Operation operation,
                               String componentName,
                               String methodName)

accessVirtualhost

public boolean accessVirtualhost(String vhostname,
                                 SocketAddress remoteAddress)

authoriseConsume

public boolean authoriseConsume(AMQQueue queue)

authoriseConsume

public boolean authoriseConsume(boolean exclusive,
                                boolean noAck,
                                boolean noLocal,
                                boolean nowait,
                                AMQQueue queue)

authoriseCreateExchange

public boolean authoriseCreateExchange(Boolean autoDelete,
                                       Boolean durable,
                                       org.apache.qpid.framing.AMQShortString exchangeName,
                                       Boolean internal,
                                       Boolean nowait,
                                       Boolean passive,
                                       org.apache.qpid.framing.AMQShortString exchangeType)

authoriseCreateQueue

public boolean authoriseCreateQueue(Boolean autoDelete,
                                    Boolean durable,
                                    Boolean exclusive,
                                    Boolean nowait,
                                    Boolean passive,
                                    org.apache.qpid.framing.AMQShortString queueName,
                                    String owner)

authoriseDelete

public boolean authoriseDelete(AMQQueue queue)

authoriseDelete

public boolean authoriseDelete(Exchange exchange)

authorisePublish

public boolean authorisePublish(boolean immediate,
                                String routingKey,
                                String exchangeName)

authorisePurge

public boolean authorisePurge(AMQQueue queue)

authoriseUnbind

public boolean authoriseUnbind(Exchange exch,
                               org.apache.qpid.framing.AMQShortString routingKey,
                               AMQQueue queue)


Licensed to the Apache Software Foundation