Поиск данных пользователя 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" будет правильным