Author: fhanik
Date: Wed Sep 6 09:06:18 2006
New Revision: 440749
URL: http://svn.apache.org/viewvc?view=rev&rev=440749
Log:
Fix for bug 37588
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java?view=diff&rev=440749&r1=440748&r2=440749
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
Wed Sep 6 09:06:18 2006
@@ -42,6 +42,7 @@
import org.apache.catalina.realm.DataSourceRealm;
import org.apache.catalina.realm.JDBCRealm;
import org.apache.catalina.realm.JNDIRealm;
+import org.apache.catalina.realm.JAASRealm;
import org.apache.catalina.realm.MemoryRealm;
import org.apache.catalina.realm.UserDatabaseRealm;
import org.apache.catalina.session.StandardManager;
@@ -404,12 +405,14 @@
*
* @exception Exception if an MBean cannot be created or registered
*/
- public String createJNDIRealm(String parent)
+ public String createJNDIRealm(String parent,String connectionURL,String
connectionName,String connectionPassword)
throws Exception {
// Create a new JNDIRealm instance
JNDIRealm realm = new JNDIRealm();
-
+ realm.setConnectionURL(connectionURL);
+ realm.setConnectionName(connectionName);
+ realm.setConnectionPassword(connectionPassword);
// Add the new instance to its parent component
ObjectName pname = new ObjectName(parent);
ContainerBase containerBase = getParentContainerFromParent(pname);
@@ -426,7 +429,44 @@
}
+
+ /**
+ * Create a new JAAS Realm.
+ *
+ * @param parent MBean Name of the associated parent component
+ *
+ * @exception Exception if an MBean cannot be created or registered
+ */
+ public String createJAASRealm(String parent,String appName,String
userClassNames,String roleClassNames,String useContextClassLoader)
+ throws Exception {
+ // Create a new JAASRealm instance
+ JAASRealm realm = new JAASRealm();
+ realm.setAppName(appName);
+ realm.setUserClassNames(userClassNames);
+ realm.setRoleClassNames(roleClassNames);
+
if("true".equals(useContextClassLoader)||"TRUE".equals(useContextClassLoader)){
+
realm.setUseContextClassLoader(true);
+ }
+ else{
+
realm.setUseContextClassLoader(false);
+ }
+ // Add the new instance to its parent component
+ ObjectName pname = new ObjectName(parent);
+ ContainerBase containerBase = getParentContainerFromParent(pname);
+ // Add the new instance to its parent component
+ containerBase.setRealm(realm);
+ // Return the corresponding MBean name
+ ObjectName oname = realm.getObjectName();
+
+ if (oname != null) {
+ return (oname.toString());
+ } else {
+ return null;
+ }
+
+
+ }
/**
* Create a new Memory Realm.
Modified:
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml?view=diff&rev=440749&r1=440748&r2=440749
==============================================================================
---
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
(original)
+++
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
Wed Sep 6 09:06:18 2006
@@ -119,7 +119,36 @@
returnType="java.lang.String">
<parameter name="parent"
description="MBean Name of the associated parent component"
- type="java.lang.String"/>
+ type="java.lang.String"/>
+ <parameter name="connectionURL"
+ description="Jndi Connection URL"
+ type="java.lang.String"/>
+ <parameter name="connectionName"
+ description="Connection name"
+ type="java.lang.String"/>
+ <parameter name="connectionPassword"
+ description="Connection password"
+ type="java.lang.String"/>
+ </operation>
+ <operation name="createJAASRealm"
+ description="Create a new Jaas Realm"
+ impact="ACTION"
+ returnType="java.lang.String">
+ <parameter name="parent"
+ description="MBean Name of the associated parent component"
+ type="java.lang.String"/>
+ <parameter name="appName"
+ description="App name"
+ type="java.lang.String"/>
+ <parameter name="userClassNames"
+ description="Users class names."
+ type="java.lang.String"/>
+ <parameter name="roleClassNames"
+ description="Role classNames"
+ type="java.lang.String"/>
+ <parameter name="useContextClassLoader"
+ description="Whether use context classloader"
+ type="java.lang.String"/>
</operation>
<operation name="createMemoryRealm"
Modified:
tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java?view=diff&rev=440749&r1=440748&r2=440749
==============================================================================
---
tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
(original)
+++
tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
Wed Sep 6 09:06:18 2006
@@ -65,6 +65,9 @@
*/
private String createStandardRealmTypes[] =
{ "java.lang.String", // parent
+ "java.lang.String", //Connection URL
+ "java.lang.String", //Connection name
+ "java.lang.String", //Connection password
};
@@ -164,8 +167,11 @@
TomcatTreeBuilder.getMBeanFactory();
// Create a new StandardRealm object
- values = new String[1];
+ values = new String[4];
values[0] = parent;
+ values[1] = rform.getConnectionURL();
+ values[2] = rform.getConnectionName();
+ values[3] = rform.getConnectionPassword();
operation = "createJNDIRealm";
rObjectName = (String)
mBServer.invoke(fname, operation,
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]