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]