Java ldap error javax.naming.namingexception: [ldap: код ошибки 1 - 000004dc: ldaperr: dsid -0c09075aJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java ldap error javax.naming.namingexception: [ldap: код ошибки 1 - 000004dc: ldaperr: dsid -0c09075a

Сообщение Anonymous »

У меня есть код C# для подключения к серверу LDAP, и он работает совершенно нормально < /p>

Рабочий код C# приведен ниже < /p>

user = "myname@myorg.com";
string pwd = "secret";

String uid = "uid=" + user + ",ou=people,dc=myorg,dc=com";
int empID = 0;
DirectoryEntry root = new DirectoryEntry("LDAP://myorg.com", user, pwd, AuthenticationTypes.None);
try
{
object connected = root.NativeObject;

DirectorySearcher search = new DirectorySearcher(root);

search.Filter = "(&(objectClass=user)(objectCategory=Person))";

search.PropertiesToLoad.Add("SAMAccountName");
search.PropertiesToLoad.Add("EmployeeID");

foreach (System.DirectoryServices.SearchResult resEnt in search.FindAll())
{
System.DirectoryServices.DirectoryEntry de = resEnt.GetDirectoryEntry();

if (de.Properties["employeeID"].Value != null && de.Properties["userPrincipalName"].Value != null)
{
if (user.Equals(de.Properties["userPrincipalName"].Value))
{
string empIDstr = (string)de.Properties["employeeID"].Value;

int.TryParse(empIDstr, out empID);
Response.Write("EMp ID is No is "+empID);
}

}
}
}
catch(Exception ex)
{
Response.Write("Logon failed");
}
< /code>

Теперь я пытаюсь сделать то же самое в Java, что и другое приложение для разработки в Java, но следующий код бросает исключение < /p>

public class LdapClient {

public void authenticate(String user, String pwd){

String uid = "uid=" + user + ",ou=people,dc=myorg,dc=com";

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://myorg.com");
env.put(Context.SECURITY_AUTHENTICATION, "none");
env.put(Context.SECURITY_PRINCIPAL, uid);
env.put(Context.SECURITY_CREDENTIALS, pwd);

try {
DirContext ctx = new InitialDirContext(env);

**//THE ERROR COMES AT THE LINE BELOW**
NamingEnumeration namingEnum = ctx.search("ou=people,dc=myorg,dc=com", "(&(objectclass=user)(objectCategory=Person))", getSimpleSearchControls());
**strong text**
while (namingEnum.hasMore ()) {
SearchResult result = (SearchResult) namingEnum.next ();
Attributes attrs = result.getAttributes ();
System.out.println(attrs.get("cn"));

}
namingEnum.close();
} catch (Exception e) {
try {
e.printStackTrace();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}

private SearchControls getSimpleSearchControls() {
SearchControls searchControls = new SearchControls();
searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String[] attrIDs = {"samAccountName","employeeID"};
searchControls.setReturningAttributes(attrIDs);
return searchControls;
}

}
< /code>

Пожалуйста, помогите, как мне дело, соответствующий тот же код работает в C# < /p>

javax.naming.NamingException: [LDAP: error code 1 - 000004DC: LdapErr: DSID-0C09075A, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1 ]; remaining name 'ou=people,dc=myorg,dc=com'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.searchAux(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_search(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(Unknown Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Unknown Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(Unknown Source)
at javax.naming.directory.InitialDirContext.search(Unknown Source)
at ldap.LdapClient.authenticate(LdapClient.java:51)
at ldap.LdapClient.main(LdapClient.java:30)
< /code>

Я должен сделать это в Java, так как мне нужно разработать другое приложение, указывающее на тот же сервер LDAP. Клиентом должен быть Java. Пожалуйста, помогите

Подробнее здесь: https://stackoverflow.com/questions/539 ... 00004dc-ld
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Javax.naming.NamingException: javax.naming.NoInitialContextException: невозможно создать экземпляр класса: org.apache.qp
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Javax.naming.NamingException: javax.naming.NoInitialContextException: невозможно создать экземпляр класса: org.apache.qp
    Anonymous » » в форуме JAVA
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Javax.naming.OperationNotSupportedException Ldap: код ошибки 53 — 00002035
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Javax.naming.OperationNotSupportedException Ldap: код ошибки 53 — 00002035
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Javax.naming.NameNotFoundException: [LDAP: код ошибки 32 — такого объекта нет]; оставшееся имя 'dc=server,dc=lan,cn=admi
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»