diff options
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java | 23 | ||||
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java | 4 |
2 files changed, 10 insertions, 17 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java b/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java index b2e1b91423..3ab23e8b46 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java +++ b/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java @@ -149,15 +149,8 @@ public class MBeanInvocationHandlerImpl implements InvocationHandler { if (args[0] instanceof ObjectName) { - if (args[0] instanceof ObjectName) - { - ObjectName object = (ObjectName) args[0]; - return UserManagement.TYPE.equals(object.getKeyProperty("type")); - } - else - { - return false; - } + ObjectName object = (ObjectName) args[0]; + return UserManagement.TYPE.equals(object.getKeyProperty("type")); } return false; @@ -200,16 +193,16 @@ public class MBeanInvocationHandlerImpl implements InvocationHandler private boolean isReadOnlyMethod(Method method, Object[] args) { String methodName = method.getName(); - if (methodName.equals("queryMBeans") || - methodName.equals("getDefaultDomain") || - methodName.equals("getMBeanInfo") || - methodName.equals("getAttribute") || - methodName.equals("getAttributes")) + if (methodName.startsWith("query") || methodName.startsWith("get")) { return true; } + else if (methodName.startsWith("set")) + { + return false; + } - if (args[0] instanceof ObjectName) + if ((args[0] instanceof ObjectName) && (methodName.equals("invoke"))) { String mbeanMethod = (args.length > 1) ? (String) args[1] : null; if (mbeanMethod == null) diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java b/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java index ec7031534b..b8762aa43b 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java +++ b/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java @@ -63,7 +63,7 @@ public interface UserManagement impact = MBeanOperationInfo.ACTION) boolean setRights(@MBeanOperationParameter(name = "username", description = "Username")String username, @MBeanOperationParameter(name = "read", description = "Administration read")boolean read, - @MBeanOperationParameter(name = "write", description = "Administration write")boolean write, + @MBeanOperationParameter(name = "readAndWrite", description = "Administration write")boolean write, @MBeanOperationParameter(name = "admin", description = "Administration rights")boolean admin); /** @@ -82,7 +82,7 @@ public interface UserManagement boolean createUser(@MBeanOperationParameter(name = "username", description = "Username")String username, @MBeanOperationParameter(name = "password", description = "Password")char[] password, @MBeanOperationParameter(name = "read", description = "Administration read")boolean read, - @MBeanOperationParameter(name = "write", description = "Administration write")boolean write, + @MBeanOperationParameter(name = "readAndWrite", description = "Administration write")boolean write, @MBeanOperationParameter(name = "admin", description = "Administration rights")boolean admin); /** |