【发布时间】:2018-04-27 10:37:16
【问题描述】:
我尝试通过 NetIq 在 IDAM-LDAP 上验证移动用户。但为此我们需要一些服务或机制,我们可以在其中验证直接发送我们的用户名和密码,并将由 NetIq 通过 LDAP 进行验证。
我尝试使用简单的 Java 连接到 LDAP 进行用户身份验证。
使用以下参数
INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); \n
PROVIDER_URL, "ldap:// IP ADDRESS :10389");
SECURITY_PRINCIPAL, "CN=Testnetiq.O=IBOM_test");
SECURITY_CREDENTIALS, "PASSWORD");
除了我们可以使用哪些参数来成功测试,以便我们可以在java适配器中实现。
package com.wipro.ibm;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
public class Testing {
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
props.put(Context.PROVIDER_URL, "ldap:// ldap ip :10389");
props.put(Context.SECURITY_PRINCIPAL, "CN=Testnetiq.O=IBOM_test");
props.put(Context.SECURITY_CREDENTIALS, "Wipro@123");
InitialDirContext context = new InitialDirContext(props);
SearchControls ctrls = new SearchControls();
ctrls.setReturningAttributes(new String[] { "givenName", "sn", "memberOf" });
ctrls.setSearchScope(SearchControls.SUBTREE_SCOPE);
NamingEnumeration<javax.naming.directory.SearchResult> answers = context.search("o=IBOM_test",
"(uid=" + "Test123" + ")", ctrls);
javax.naming.directory.SearchResult result = answers.nextElement();
String user = result.getNameInNamespace();
try {
props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
props.put(Context.PROVIDER_URL, "ldap://ldap ip :10389");
props.put(Context.SECURITY_PRINCIPAL, user);
props.put(Context.SECURITY_CREDENTIALS, "Test@123");
context = new InitialDirContext(props);
} catch (Exception e) {
System.out.println("false");
}
System.out.println("True");
}
}
【问题讨论】:
-
您的具体查询是什么?您当前的代码是否失败?或者 LDAP 没有响应?如果您的独立代码有效,那么您也可以在 Java 适配器中实现它。将用户名和密码发送到负载正文中的适配器。
-
通过使用我们得到的 ablove 代码 ** javax.naming.AuthenticationNotSupportedException: [LDAP: error code 13 - Confidentiality Required]
-
从独立 Java 代码尝试时,您是否遇到同样的问题?此异常与 MFP 无关。
标签: java ldap ibm-mobilefirst mobilefirst-adapters netiq