org.apache.qpid.server.security
Class SecurityManager
java.lang.Object
org.apache.qpid.server.security.SecurityManager
public class SecurityManager
- extends Object
The security manager contains references to all loaded SecurityPlugin
s 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
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 |
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
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