diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2009-01-26 16:53:12 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2009-01-26 16:53:12 +0000 |
| commit | f85296104c1cb692c85b2f779fe9163460d8b5d1 (patch) | |
| tree | d68910f631104e172d3de3271b59cc7a7cd093b8 /java | |
| parent | 15d020b181a7e0d640e9f5922b7a6d51755b6b0e (diff) | |
| download | qpid-python-f85296104c1cb692c85b2f779fe9163460d8b5d1.tar.gz | |
QPID-1533 : Patch from Robert Gemmell, Fixes the reload tab in UserManagement to actually reload the PrincipalDatabase file from disk. Not just the jmxaccess rights file.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737746 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
6 files changed, 31 insertions, 10 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/access/management/AMQUserManagementMBean.java b/java/broker/src/main/java/org/apache/qpid/server/security/access/management/AMQUserManagementMBean.java index 7ff3bd3541..f04aecd0a5 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/security/access/management/AMQUserManagementMBean.java +++ b/java/broker/src/main/java/org/apache/qpid/server/security/access/management/AMQUserManagementMBean.java @@ -226,27 +226,23 @@ public class AMQUserManagementMBean extends AMQManagedObject implements UserMana public boolean reloadData() { - try - { try { loadAccessFile(); + _principalDatabase.reload(); } catch (ConfigurationException e) { _logger.info("Reload failed due to:" + e); return false; } - + catch (IOException e) + { + _logger.info("Reload failed due to:" + e); + return false; + } // Reload successful return true; - } - catch (IOException e) - { - _logger.info("Reload failed due to:" + e); - // Reload unsuccessful - return false; - } } diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java index bf459542de..69ad9014db 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java +++ b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java @@ -492,4 +492,9 @@ public class Base64MD5PasswordFilePrincipalDatabase implements PrincipalDatabase } } + public void reload() throws IOException + { + loadPasswordFile(); + } + } diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java index 352d41a0ba..9da954d74f 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java +++ b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java @@ -237,4 +237,9 @@ public class PlainPasswordFilePrincipalDatabase implements PrincipalDatabase } } } + + public void reload() throws IOException + { + //This PD is not cached, so do nothing. + } } diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java index a82f9ed40b..ef37e043a6 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java +++ b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java @@ -92,6 +92,11 @@ public interface PrincipalDatabase */ Principal getUser(String username); + /** + * Reload the database to its ensure contents are up to date + * @throws IOException If there was an error reloading the database + */ + void reload() throws IOException; public Map<String, AuthenticationProviderInitialiser> getMechanisms(); diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java index c8a4add0f1..ff8851306f 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java +++ b/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java @@ -161,4 +161,9 @@ public class PropertiesPrincipalDatabase implements PrincipalDatabase return null; } } + + public void reload() throws IOException + { + //No file to update from, so do nothing. + } } diff --git a/java/broker/src/test/java/org/apache/qpid/server/security/auth/sasl/TestPrincipalDatabase.java b/java/broker/src/test/java/org/apache/qpid/server/security/auth/sasl/TestPrincipalDatabase.java index a87c727a9a..8507e49e17 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/security/auth/sasl/TestPrincipalDatabase.java +++ b/java/broker/src/test/java/org/apache/qpid/server/security/auth/sasl/TestPrincipalDatabase.java @@ -83,4 +83,9 @@ public class TestPrincipalDatabase implements PrincipalDatabase return false; } + public void reload() throws IOException + { + // TODO Auto-generated method stub + } + } |
