javax.naming.InvalidNameException: [LDAP: código de erro 34 - DN inválido]
Eu sou um estudante universitário. Agora, estou fazendo um projeto que deve usar a conexão LDAP para autenticar o nome de usuário e a senha do usuário no processo de login. Então, meu site é desenvolvido usando o JSP. Eu tento resolver o erro do código, mas não posso. Eu cometi algum erro nisso?
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="java.util.regex.*" %>
<%@ page import="javax.naming.directory.*" %>
<%@ page import="java.util.Hashtable.*" %>
<%@ page import="javax.naming.ldap.*" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
String username = request.getParameter("email");
String password = request.getParameter("password");
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://ldap-pj.sit.kmutt.ac.th");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, username);
env.put(Context.SECURITY_CREDENTIALS, password);
try {
//Connect with ldap
new InitialLdapContext(env, null);
//Connection succeeded
System.out.println("Connection succeeded!");
} catch (AuthenticationException e) {
//Connection failed
System.out.println("Connection failed!");
e.printStackTrace();
}
%>
</body>
</html>
e eu recebi essa mensagem de erro de executar o código.
HTTP Status 500 -
tipo relatório de exceção
mensagem
descrição O servidor encontrou um erro interno () que o impediu de atender a essa solicitação.
exceção
org.apache.jasper.JasperException: Ocorreu uma exceção processando a página JSP /ldap_checking.jsp na linha 33
30: 31: tente {32: // Conecte-se com o ldap 33: new InitialLdapContext (env, null); 34: 35: // Conexão bem-sucedida 36: System.out.println ("Conexão bem-sucedida!");
Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException (JspServletWrapper.java:568) org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:455) org.apache.jasper.servlet.JspServlet.serviceJspFile ( JSPServlet.java:390) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:334) javax.servlet.http.HttpServlet.service (HttpServlet.java:722) causa raiz
javax.servlet.ServletException: javax.naming.InvalidNameException: [LDAP: código de erro 34 - DN inválido] org.apache.jasper.runtime.PageContextImpl.doHandlePageException (PageContextImpl.java:911) org.apache.jasper.runtime.PageContextImpl. handlePageException (PageContextImpl.java:840) org.apache.jsp.ldap_005fchecking_jsp._jspService (ldap_005fchecking_jsp.java:212) org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:70) javax.servlet.http.HttpServlet. service (HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:432) org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:390) org.apache.jasper. servlet.JspServlet.service (JspServlet.java:334) javax.servlet.http.HttpServlet.service (HttpServlet.java:722) causa raiz
javax.naming.InvalidNameException: [LDAP: código de erro 34 - DN inválido] com.sun.jndi.ldap.LdapCtx.processReturnCode (LdapCtx.java:3028) com.sun.jndi.ldap.LdapCtx.processReturnCode (LdapCtx.java: 2835) com.sun.jndi.ldap.LdapCtx.connect (LdapCtx.java:2749) com.sun.jndi.ldap.LdapCtx. (LdapCtx.java:316) com.sun.jndi.ldap.LdapCtxFactory.getUsingURL (LdapCtxFactory .java: 193) com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs (LdapCtxFactory.java:211) com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance (LdapCtxFactory.java:154) com.sun.jndi.ldap.LdapCtxFactory .getInitialContext (LdapCtxFactory.java:84) javax.naming.spi.NamingManager.getInitialContext (NamingManager.java:684) javax.naming.InitialContext.getDefaultInitCtx (InitialContext.java:307) javax.naming.InitialContext.init (InitialContext.java : 242) javax.naming.ldap.InitialLdapContext. (InitialLdapContext.java:153) org.apache.jsp.ldap_005fchecking_jsp._jspService (ldap_005fchecking_jsp.java:97) org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java: 7 0) javax.servlet.http.HttpServlet.service (HttpServlet.java:722) org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:432) org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet. java: 390) org.apache.jasper.servlet.JspServlet.service (JspServlet.java:334) javax.servlet.http.HttpServlet.service (HttpServlet.java:722) note Observação: O rastreio da pilha completa da causa raiz está disponível em os logs do Apache Tomcat / 7.0.27.
Apache Tomcat / 7.0.27