From aa307a30d277c73a4120ba6ccd2f8d823ec5fb24 Mon Sep 17 00:00:00 2001 From: Bhupendra Bhusman Bhardwaj Date: Mon, 23 Apr 2007 16:28:00 +0000 Subject: QPID-445 git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@531524 13f79535-47bb-0310-9956-ffa450edef68 --- .../management/MBeanInvocationHandlerImpl.java | 23 ++++++++-------------- .../server/security/access/UserManagement.java | 4 ++-- 2 files changed, 10 insertions(+), 17 deletions(-) (limited to 'java') 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); /** -- cgit v1.2.1