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

