summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-06-10 14:25:08 +0000
committerKeith Wall <kwall@apache.org>2012-06-10 14:25:08 +0000
commit4fdef8fc1a83bedd6a128460a968229cf3a62acc (patch)
tree7d49f5984ef5c5140841d8e17cea1ab3ca8c9891 /qpid/java/broker/src/main
parent3e2ffb7111872b8fbd04fa3bb20753a022791e2b (diff)
downloadqpid-python-4fdef8fc1a83bedd6a128460a968229cf3a62acc.tar.gz
QPID-3997: [Java Broker] Allow assignment of AuthenticationManager on a per-port basis
Address review comments from Rob Godfrey. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1348603 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/main')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java17
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistry.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/IAuthenticationManagerRegistry.java4
4 files changed, 17 insertions, 8 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
index 0e538a13a6..b48d8c5fdb 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
@@ -84,6 +84,9 @@ public class ServerConfiguration extends ConfigurationPlugin
public static final String MGMT_CUSTOM_REGISTRY_SOCKET = "management.custom-registry-socket";
public static final String MGMT_JMXPORT_REGISTRYSERVER = "management.jmxport.registryServer";
public static final String MGMT_JMXPORT_CONNECTORSERVER = "management.jmxport.connectorServer";
+ public static final String SECURITY_DEFAULT_AUTH_MANAGER = "security.default-auth-manager";
+ public static final String SECURITY_PORT_MAPPINGS_PORT_MAPPING_AUTH_MANAGER = "security.port-mappings.port-mapping.auth-manager";
+ public static final String SECURITY_PORT_MAPPINGS_PORT_MAPPING_PORT = "security.port-mappings.port-mapping.port";
public static final String STATUS_UPDATES = "status-updates";
public static final String ADVANCED_LOCALE = "advanced.locale";
public static final String CONNECTOR_AMQP10ENABLED = "connector.amqp10enabled";
@@ -252,6 +255,13 @@ public class ServerConfiguration extends ConfigurationPlugin
throw new ConfigurationException(message);
}
+ String[] ports = getConfig().getStringArray(SECURITY_PORT_MAPPINGS_PORT_MAPPING_PORT);
+ String[] authManagers = getConfig().getStringArray(SECURITY_PORT_MAPPINGS_PORT_MAPPING_AUTH_MANAGER);
+ if (ports.length != authManagers.length)
+ {
+ throw new ConfigurationException("Validation error: Each port-mapping must have exactly one port and exactly one auth-manager.");
+ }
+
// QPID-3517: Inconsistency in capitalisation in the SSL configuration keys used within the connector and management configuration
// sections. For the moment, continue to understand both but generate a deprecated warning if the less preferred keystore is used.
for (String key : new String[] {"management.ssl.keystorePath",
@@ -586,14 +596,13 @@ public class ServerConfiguration extends ConfigurationPlugin
public String getDefaultAuthenticationManager()
{
- return getStringValue("security.default-auth-manager");
+ return getStringValue(SECURITY_DEFAULT_AUTH_MANAGER);
}
-
public Map<Integer, String> getPortAuthenticationMappings()
{
- String[] ports = getConfig().getStringArray("security.port-mappings.port-mapping.port");
- String[] authManagers = getConfig().getStringArray("security.port-mappings.port-mapping.auth-manager");
+ String[] ports = getConfig().getStringArray(SECURITY_PORT_MAPPINGS_PORT_MAPPING_PORT);
+ String[] authManagers = getConfig().getStringArray(SECURITY_PORT_MAPPINGS_PORT_MAPPING_AUTH_MANAGER);
Map<Integer,String> portMappings = new HashMap<Integer, String>();
for(int i = 0; i < ports.length; i++)
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
index ec6f6d0410..80a91be262 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
@@ -564,7 +564,7 @@ public abstract class ApplicationRegistry implements IApplicationRegistry
@Override
public AuthenticationManager getAuthenticationManager(SocketAddress address)
{
- return _authenticationManagerRegistry.getAuthenticationManagerFor(address);
+ return _authenticationManagerRegistry.getAuthenticationManager(address);
}
public PluginManager getPluginManager()
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistry.java
index 34f038b037..3a1ca4f19d 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistry.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/AuthenticationManagerRegistry.java
@@ -90,7 +90,7 @@ public class AuthenticationManagerRegistry implements Closeable, IAuthentication
}
@Override
- public AuthenticationManager getAuthenticationManagerFor(SocketAddress address)
+ public AuthenticationManager getAuthenticationManager(SocketAddress address)
{
AuthenticationManager authManager =
address instanceof InetSocketAddress
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/IAuthenticationManagerRegistry.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/IAuthenticationManagerRegistry.java
index 5c20d77804..bfb49b8ed6 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/IAuthenticationManagerRegistry.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/manager/IAuthenticationManagerRegistry.java
@@ -26,7 +26,7 @@ import org.apache.qpid.common.Closeable;
/**
* Registry for {@link AuthenticationManager} instances.
*
- * <p>A lookup method {@link #getAuthenticationManagerFor(SocketAddress)} allows a caller to determine
+ * <p>A lookup method {@link #getAuthenticationManager(SocketAddress)} allows a caller to determine
* the AuthenticationManager associated with a particular port number.</p>
*
* <p>It is important to {@link #close()} the registry after use and this allows the AuthenticationManagers
@@ -42,5 +42,5 @@ public interface IAuthenticationManagerRegistry extends Closeable
* @param address
* @return authentication manager.
*/
- public AuthenticationManager getAuthenticationManagerFor(SocketAddress address);
+ public AuthenticationManager getAuthenticationManager(SocketAddress address);
} \ No newline at end of file