diff options
author | Bhupendra Bhusman Bhardwaj <bhupendrab@apache.org> | 2007-04-23 13:13:28 +0000 |
---|---|---|
committer | Bhupendra Bhusman Bhardwaj <bhupendrab@apache.org> | 2007-04-23 13:13:28 +0000 |
commit | 52a474635f26e00951cbb3fe573d59be82d1a03a (patch) | |
tree | 86f46a57510752fb6cd03a90567855f6c253607c | |
parent | 9db0dd84c5204f6e667996487690b01dbcd0d656 (diff) | |
download | qpid-python-52a474635f26e00951cbb3fe573d59be82d1a03a.tar.gz |
QPID-445 : Fixed the ClassCastException
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@531458 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java | 35 |
1 files changed, 6 insertions, 29 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 7d25fb8c69..b2e1b91423 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 @@ -17,8 +17,7 @@ */ package org.apache.qpid.server.management; -import org.apache.qpid.AMQException; -import org.apache.qpid.server.security.access.AMQUserManagementMBean; +import org.apache.qpid.server.security.access.UserManagement; import org.apache.log4j.Logger; import javax.management.remote.MBeanServerForwarder; @@ -37,12 +36,6 @@ import java.security.Principal; import java.security.AccessControlContext; import java.util.Set; import java.util.Properties; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.ConcurrentHashMap; -import java.io.File; -import java.io.InputStream; -import java.io.IOException; -import java.io.FileInputStream; /** * This class can be used by the JMXConnectorServer as an InvocationHandler for the mbean operations. This implements @@ -110,6 +103,7 @@ public class MBeanInvocationHandlerImpl implements InvocationHandler // Restrict access to "createMBean" and "unregisterMBean" to any user if (methodName.equals("createMBean") || methodName.equals("unregisterMBean")) { + _logger.debug("User trying to create or unregister an MBean"); throw new SecurityException("Access denied"); } @@ -155,29 +149,12 @@ public class MBeanInvocationHandlerImpl implements InvocationHandler { if (args[0] instanceof ObjectName) { - String mbeanMethod = (args.length > 1) ? (String) args[1] : null; - if (mbeanMethod == null) - { - if (args[0] instanceof ObjectName) - { - ObjectName object = (ObjectName) args[0]; - return object.getCanonicalName().contains("UserManagement"); - } - else - { - return false; - } - } - - try + if (args[0] instanceof ObjectName) { - MBeanInfo mbeanInfo = mbs.getMBeanInfo((ObjectName) args[0]); - if (mbeanInfo != null) - { - return mbeanInfo.getClassName().equals("org.apache.qpid.server.security.access.AMQUserManagementMBean"); - } + ObjectName object = (ObjectName) args[0]; + return UserManagement.TYPE.equals(object.getKeyProperty("type")); } - catch (JMException ex) + else { return false; } |