Directory Editor and Tomcat

Hey all,

I am installing Directory Editor 6.0, and following the install documentation, I added some lines to the 'catalina.policy' file in the Tomcat configuration to allow DE to work properly.

grant codeBase"file:${catalina.home}/webapps/de/-"{

permission java.security.AllPermission;

};

grant codeBase"file:${catalina.home}/webapps/de/-"{

permission javax.security.auth.AuthPermission"getLoginConfiguration";

permission javax.security.auth.AuthPermission"setLoginConfiguration";

permission javax.security.auth.AuthPermission"createLoginContext.SunDirectoryLogin";

permission javax.security.auth.AuthPermission"modifyPrincipals";

permission java.util.PropertyPermission"*","read,write";

permission java.net.SocketPermission"*","connect,resolve";

permission java.io.FilePermission"*","read, write";

permission java.util.PropertyPermission"Debug.enable","read";

};

grant{

permission java.lang.reflect.ReflectPermission"suppressAccessChecks";

permission java.lang.RuntimePermission"accessClassInPackage.sun.beans.*";

permission java.lang.RuntimePermission"accessClassInPackage.sun.io";

permission java.lang.RuntimePermission"accessDeclaredMembers";

};

I deployed the WAR file, and was able to perform the initial configuration of DE (location of the config directory, what suffix to configure, what credentials to connect to the DS as...). Once those steps finish, I can see data in the DS under the newly created "Services" OU for DE, but when I try to login to DE as either a regular user or as an administrative user, I get an error. The catalina.out log show the following:

2007-06-25 16:00:14,398 [TP-Processor11] WARN org.apache.struts.action.RequestProcessor - Unhandled Exception thrown:class java.lang.SecurityException

2007-06-25 16:00:14,398 [TP-Processor11] ERROR com.sun.dml.web.DmlRequestProcessor - No exception handlerfor java.lang.SecurityException: Unable to locate a login configuration. Forwarding to error page.

java.lang.SecurityException: Unable to locate a login configuration

at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:97)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:494)

at java.lang.Class.newInstance0(Class.java:350)

at java.lang.Class.newInstance(Class.java:303)

at javax.security.auth.login.Configuration$3.run(Configuration.java:216)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.login.Configuration.getConfiguration(Configuration.java:210)

at com.sun.dml.web.LoginAction.execute(LoginAction.java:113)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)

at com.sun.dml.web.DmlRequestProcessor.processActionPerform(DmlRequestProcessor.java:180)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)

at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)

at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)

at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)

at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

at java.lang.Thread.run(Thread.java:595)

Caused by: java.io.IOException: Unable to locate a login configuration

at com.sun.security.auth.login.ConfigFile.init(ConfigFile.java:206)

at com.sun.security.auth.login.ConfigFile.<init>(ConfigFile.java:95)

... 32 more

Is there anything else that needs to be done to allow access for DE when using Tomcat?

TIA, Mark

[5945 byte] By [mckinga] at [2007-11-27 8:47:38]
# 1
/me hangs head in shameOK the problem was between the chair and keyboard. I didn't read the release notes, which have a section for using tomcat 5.5 instead of 5.0. There is an extra file that you must create and add to your tomcat config in order to get DE working on tomcat 5.5.
mckinga at 2007-7-12 20:52:53 > top of Java-index,Web & Directory Servers,Directory Servers...