Это был день с тех пор, как я начал работать с LDAP Active Directory с сервером Tomcat.Аутентификация LDAP с Active Directory с Tomcat
Я не видел простого и простого примера (например, модуля входа в систему) с использованием Active Directory LDAP с Tomcat, и, кроме того, я только что получил данные от администратора для LDAP-сервера, к которому я обращаюсь.
Приведенный ниже код выглядит простым, но я застрял с приведенным ниже исключением.
- String server = "192.168.71.116"; // Имя хоста сервера
- int port = 50001;
- String basedn = "DC = cblan-test, DC = mblox, DC = com";
Я передаю имя пользователя и пароль, которые выбраны из объекта запроса.
Это основная часть кода, который я использую, я получил этот пример из here
<%
String user = request.getParameter("user");
String password = request.getParameter("password");
String filter = "(|(uid=" + user + ")" + "(mail=" + user + "@*))";
String cliEquiv = "<tt>ldapsearch -h " + server + " -p " +
port + " -b " + basedn + " \"" + filter + "\"</tt></p>";
%>
<p>Equivalent command line:<br /><%= cliEquiv%><hr />
<%
// Connect to the LDAP server.
Hashtable env = new Hashtable(11);
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://" + server + ":" + port + "/");
// Search and retrieve DN.
try {
LdapContext ldap = new InitialLdapContext(env, null);
NamingEnumeration results = ldap.search(basedn, filter, null);
String binddn = "None";
while (results.hasMore()) {
SearchResult sr = (SearchResult) results.next();
binddn = sr.getName() + "," + basedn;
}
%>
<p>Bind DN found: <%= binddn%><hr /></p>
<%
ldap.close();
// Authenticate
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, binddn);
env.put(Context.SECURITY_CREDENTIALS, password);
ldap = new InitialLdapContext(env, null);
%>
<p>Successful authentication for <%= user%>.</p>
Это мой LDAP детали сервера
я получаю ниже исключение, которое я действительно не понимаю, и я попробовали много предложений, но ничего плодотворного. Может кто-нибудь, пожалуйста, помогите мне исправить это, это поможет мне приступить к созданию моего приложения на основе этого. Также дайте свои рекомендации по аутентификации с помощью LDAP Active Directory в Tomcat.
17 сентября 2013 1:40:32 PM org.apache.catalina.realm.JNDIRealm аутентификации СИЛЬНЫЙ: Исключение выполнения аутентификации javax.naming.NamingException: [LDAP: код ошибки 1 - 000004DC: LdapErr: DSID-0C09062B, комментарий:. чтобы выполнить эту операцию успешной привязки должна быть завершена в связи, данные 0, va28
Это обязательная проблема, это может быть по нескольким причинам: неправильное имя пользователя или пароль, неправильный тип аутентификации ... и т. д. ниже, как подключиться и запросить AD –