Hi everyone,<br />
<br />
I am trying to build a Security Adapter for my report in order to make the access on tomcat 5.5.23 secure.<br />
For this I followed the tutorials: <br />
<a class='bbc_url' href='
http://www.birt-exchange.org/wiki/Security_Integration_with_the_Actuate_BIRT_Viewers/'>Security Integration with the Actuate BIRT Viewers - BIRT Wiki - BIRT Exchange</a> and <a class='bbc_url' href='
http://www.birt-exchange.org/documentation/Manuals10/creating-custom-deployment-kit-apps.pdf'>http://www.birt-exchange.org/documentation/Manuals10/creating-custom-deployment-kit-apps.pdf</a> <br />
<br />
I write the custom class and copy it to the lib folder. I also adjust the web.xml<br />
<br />
Here my example:<br />
<br />
1st my Security Adapter class:<br />
<br />
<br />
<br />
<br />
SecurityMgrSession.java<br />
<br />
import javax.servlet.*;<br />
import javax.servlet.http.*;<br />
import com.actuate.iportal.security.iPortalSecurityAdapter;<br />
<br />
public class SecurityMgrSession extends<br />
com.actuate.iportal.security.iPortalSecurityAdapter {<br />
public SecurityMgrSession() {<br />
}<br />
<br />
/**<br />
* authenticate() to authenticate the user.<br />
*/<br />
public boolean authenticate(HttpServletRequest request) {<br />
HttpServletRequest httpReq = (HttpServletRequest) request;<br />
boolean returnValue = false;<br />
String param = request.getParameter("uname");<br />
return returnValue;<br />
}<br />
<br />
public String getPassword() {<br />
return null;<br />
}<br />
<br />
public String getUserHomeFolder() {<br />
return null;<br />
}<br />
<br />
public byte[] getExtendedCredentials() {<br />
return null;<br />
}<br />
<br />
public boolean isEnterprise() {<br />
return false;<br />
}<br />
}<br />
<br />
<br />
<br />
and my web.xml:<br />
<br />
<br />
<context-param><br />
<!--<br />
Enable External Authentication by setting the Security Adapter class name.<br />
SECURITY_MANAGER_CLASS is deprecated.<br />
--><br />
<param-name>SECURITY_ADAPTER_CLASS</param-name><br />
<param-value>SecurityMgrSession</param-value><br />
</context-param><br />
<br />
<br />
the jar file SecurityMgrSession.jar lies in the folder WEB-INFlib and was created by the command jar cvf SecurityMgrSession.jar SecurityMgrSession.class<br />
<br />
Every time I try to open the URL for my report i get the following page in the browser:<br />
<br />
HTTP Status 500 - <br />
<br />
<br />
type Exception report<br />
<br />
message <br />
<br />
description The server encountered an internal error () that prevented it from fulfilling this request.<br />
<br />
exception <br />
<br />
javax.servlet.ServletException: Servlet execution threw an exception<br />
<br />
<br />
root cause <br />
<br />
java.lang.UnsupportedClassVersionError: Bad version number in .class file<br />
java.lang.ClassLoader.defineClass1(Native Method)<br />
java.lang.ClassLoader.defineClass(ClassLoader.java:620)<br />
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)<br />
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1852)<br />
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:876)<br />
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)<br />
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)<br />
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br />
java.lang.Class.forName0(Native Method)<br />
java.lang.Class.forName(Class.java:164)<br />
com.actuate.iportal.utils.Utility.getSecurityMgr(Unknown Source)<br />
com.actuate.iportal.auth.IPortalAuth.authenticate(Unknown Source)<br />
com.actuate.activeportal.utils.LoginHandler.getiPortalSession(Unknown Source)<br />
com.actuate.activeportal.utils.LoginHandler.authenticate(Unknown Source)<br />
com.actuate.activeportal.utils.LoginHandler.authenticate(Unknown Source)<br />
com.actuate.activeportal.actions.AcBaseAction.commonActionOperations(Unknown Source)<br />
com.actuate.activeportal.actions.AcSubmitJobAction.execute(Unknown Source)<br />
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)<br />
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)<br />
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)<br />
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)<br />
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)<br />
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)<br />
<br />
<br />
The logs from the command line<br />
<br />
- Servlet.service() for servlet action threw exception<br />
java.lang.UnsupportedClassVersionError: Bad version number in .class file<br />
at java.lang.ClassLoader.defineClass1(Native Method)<br />
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)<br />
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)<br />
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1852)<br />
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:876)<br />
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)<br />
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)<br />
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br />
at java.lang.Class.forName0(Native Method)<br />
at java.lang.Class.forName(Class.java:164)<br />
at com.actuate.iportal.utils.Utility.getSecurityMgr(Unknown Source)<br />
at com.actuate.iportal.auth.IPortalAuth.authenticate(Unknown Source)<br />
at com.actuate.activeportal.utils.LoginHandler.getiPortalSession(Unknown Source)<br />
at com.actuate.activeportal.utils.LoginHandler.authenticate(Unknown Source)<br />
at com.actuate.activeportal.utils.LoginHandler.authenticate(Unknown Source)<br />
at com.actuate.activeportal.actions.AcBaseAction.commonActionOperations(Unknown Source)<br />
at com.actuate.activeportal.actions.AcSubmitJobAction.execute(Unknown Source)<br />
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)<br />
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)<br />
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)<br />
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)<br />
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)<br />
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)<br />
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)<br />
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)<br />
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br />
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)<br />
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)<br />
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)<br />
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)<br />
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)<br />
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)<br />
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)<br />
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)<br />
at java.lang.Thread.run(Thread.java:595)<br />
<br />
<br />
<br />
<br />
Do you have an idea why this does not work?<br />
I would be very grateful for a answer as I am really struggling with this problems for days!<br />
<br />
Thank you in advance!<br />
<br />
work_ph