summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBhupendra Bhusman Bhardwaj <bhupendrab@apache.org>2007-04-23 13:13:28 +0000
committerBhupendra Bhusman Bhardwaj <bhupendrab@apache.org>2007-04-23 13:13:28 +0000
commit52a474635f26e00951cbb3fe573d59be82d1a03a (patch)
tree86f46a57510752fb6cd03a90567855f6c253607c
parent9db0dd84c5204f6e667996487690b01dbcd0d656 (diff)
downloadqpid-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.java35
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;
}