ok,
If the LDAPAuthBean is your class, try to add a package to it.
I think Tomcat 4.x does funky stuff with classes without packages,
and here is looks like it is prepending org.apache.jsp to the prefix.

if you want, send me your war file.

Filip

-----Original Message-----
From: Steve R Burrus [mailto:[EMAIL PROTECTED]]
Sent: Friday, January 31, 2003 3:26 PM
To: Tomcat Users List
Subject: RE: jsp:useBean error


well khalid, u haven't seen fit to respond to me yet, so consider this to be yer 
"light a fire under you" email!!! Here again is the 505 server error page, as I saw 
it! And, I will also send you again the 2 files which I have been trying/attempting to 
work with in JBuilder 8 Enterprise Trial!!
So here is the 505 error page and following that is one of the 2 files, the 
LDAPAuthBean.java javabean, and as a file attachment, the login.jsp file. Please try 
to respond to me with some useful advice about how I can successfully execute this 
JSP, because it doesn't look too much like anyone else in this newsgroup much feels 
like doing so, sad to say!
Apache Tomcat/4.0.6 - HTTP Status 500 - Internal Server Errortype Exception 
reportmessage Internal Server Errordescription The server encountered an internal 
error (Internal Server Error) that prevented it from fulfilling this request.exception 
org.apache.jasper.JasperException: Unable to compile class for JSPNote: 
sun.tools.javac.Main has been deprecated.
An error occurred at line: 2 in the jsp file: /login.jsp
Generated servlet error:
C:\Documents and Settings\Steven R. 
Burrus\jbproject\thirdjavaproj\Tomcat\work\login$jsp.java:60: Class 
org.apache.jsp.LDAPAuthBean not found.
                LDAPAuthBean auth = null;
                ^

An error occurred at line: 2 in the jsp file: /login.jsp
Generated servlet error:
C:\Documents and Settings\Steven R. 
Burrus\jbproject\thirdjavaproj\Tomcat\work\login$jsp.java:63: Class 
org.apache.jsp.LDAPAuthBean not found.
                    auth= (LDAPAuthBean)
                           ^

An error occurred at line: 2 in the jsp file: /login.jsp
Generated servlet error:
C:\Documents and Settings\Steven R. 
Burrus\jbproject\thirdjavaproj\Tomcat\work\login$jsp.java:68: Class 
org.apache.jsp.LDAPAuthBean not found.
                            auth = (LDAPAuthBean) 
java.beans.Beans.instantiate(this.getClass().getClassLoader(), "LDAPAuthBean");
                                    ^
Note: C:\Documents and Settings\Steven R. 
Burrus\jbproject\thirdjavaproj\Tomcat\work\login$jsp.java uses or overrides a 
deprecated API.  Recompile with "-deprecation" for details.
3 errors, 2 warnings
 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)
 at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)
 at 
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176)
 at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
 at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
 at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
 at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
 at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
 at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
 at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Er! 
rorDispatcherValve.java:170)
 at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
 at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
 at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
 at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
 at java.lang.Thread.run(Thread.java:536)
What can you make of this anyway??? I have also included for your "edification" the 2 
files which I have been working with in JBuilder 8. Thanx in advance for any help!


import java.util.*;
import javax.naming.*;
import javax.naming.directory.*;

public class LDAPAuthBean {

  private static final String CTXINIT =
                 "com.sun.jndi.ldap.LdapCtxFactory";

  private static final String CTXURL =
                 "ldap://ldap.javadesktop.com:389";;

  private static final String CTXBASE =
                 "o=JavaDesktop";

  private static final String CTXAUTH =
                 "DIGEST-MD5 CRAM-MD5";

  private Hashtable ldapEnv;
  private transient String userLogin;
  private transient String userPassword;

  public LDAPAuthBean() {
      ldapEnv = new Hashtable();

      ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY, CTXINIT);
      ldapEnv.put(Context.PROVIDER_URL, CTXURL);
  }

  public void setUserName(String uid) {
    this.userLogin = uid;
  }

  public void setUserPass(String password) {
    this.userPassword = password;
  }

  public boolean isAuth() {
    String userDN = grabDN(this.userLogin);
    boolean auth = false;

    try {
      ldapEnv.put(Context.SECURITY_AUTHENTICATION, CTXAUTH);
      ldapEnv.put(Context.SECURITY_PRINCIPAL, userDN);
      ldapEnv.put(Context.SECURITY_CREDENTIALS, this.userPassword);

      DirContext ctx = new InitialDirContext(ldapEnv);
      ctx.close();

      auth = true;
    } catch (AuthenticationException e) {
      auth = false;
    } catch (NamingException e) {
      // do some legitimate error checking here.
    }

    return (auth);
  }

  private String grabDN(String name) {
    String filter = "(uid=" + name + ")";
    String firstDN = null;

    try {
      ldapEnv.put(Context.SECURITY_AUTHENTICATION, "none");

      DirContext ctx = new InitialDirContext(ldapEnv);

      SearchControls constraints = new SearchControls();
      constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);

      NamingEnumeration results =
              ctx.search(CTXBASE, filter, constraints);

      if (results.hasMoreElements()) {
        firstDN = (String)results.nextElement();
      }

      ctx.close();
    } catch (NamingException e) {
    }

    return (firstDN);
  }
}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to