Поиск данных пользователя RACF с помощью JNDI

Я разрабатываю Java-программу, и мне нужно читать пользовательские данные из RACF с использованием интерфейса LDAP RACF. Я устанавливаю соединение, используя Java Naming Directory Interface, но если я отправляю запрос на поиск по

    ctx = new InitialLdapContext(env, null);
    SearchControls searchControls = new SearchControls();
    searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
    String searchFilter = "(&(objectClass=*)(racfid=test123))";
    NamingEnumeration results = ctx.search(SEARCH_BASE, searchFilter, searchControls);

Сервер получает запрос, но он просто возвращает следующий код ошибки:

javax.naming.NamingException: [LDAP: error code 80 - ICH31005I NO ENTRIES MEET SEARCH CRITERIA]; Remaining name: 'CN=RACFSYSA,O=IBM,C=US'
    at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3061)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2963)
    at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2770)
    at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1824)
    at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1747)
    at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:380)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:350)
    at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:333)
    at javax.naming.directory.InitialDirContext.search(Unknown Source)

Если я выполняю этот поиск для "настоящего" каталога LDAP, он работает нормально. Код ошибки - это код по умолчанию, поэтому он мне не подходит. У кого-нибудь есть идеи, как решить эту проблему? Есть ли другой способ получить данные пользователя?

1 ответ

Ваш поисковый фильтр не поддерживается LDAP SDBM cf http://pic.dhe.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.glpa200%2Fglpa2ab077.htm

String searchFilter = "(racfid = test123" будет правильным

Другие вопросы по тегам