「java查询ldap」java查询数据库并显示窗口
本篇文章给大家谈谈java查询ldap,以及java查询数据库并显示窗口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java ldap根据用户名查询
search base ,ou=Sites,dc=asia,dc=jci,dc=com
filter ou=‘user01'这样就可以检索到了。
Java获取Ldap叶子节点
使用netscape的ldap工具包。使用其它的工具包,写法类似。
注:必须知道base dn,以下假定ou=admin为base dn。若有明确的base dn,那写法比如:ou=admin,o=test1
源代码如下:
==========================
import netscape.ldap.*;
public class SearchTest {
public static void main(String[] args) {
LDAPConnection lc = null;
LDAPEntry findEntry = null;
int status = -1;
try {
// lc = ConnectionPool.
lc = new LDAPConnection();
/* Connect to server */
String MY_HOST = "localhost";
int MY_PORT = 389;
lc.connect(MY_HOST, MY_PORT);
System.out.println("1=========" +lc.isConnected());
lc.authenticate("cn=Directory Manager","password");
System.out.println("2=========" +lc.isConnected());
/* search for all entries with surname of Jensen */
String MY_FILTER = "(objectclass=*)";
String MY_SEARCHBASE = "ou=admin";
LDAPSearchConstraints cons = lc.getSearchConstraints();
cons.setBatchSize(0);
cons.setMaxResults(5);
MY_FILTER = "(objectclass=*)" ;
LDAPSearchResults res = lc.search(MY_SEARCHBASE,
LDAPConnection.SCOPE_ONE,
MY_FILTER,
null,
false,
cons);
while (res.hasMoreElements()) {
LDAPEntry cLDAPEntry = res.next() ;
System.out.println("" + cLDAPEntry.getDN());
System.out.println("" + cLDAPEntry.toString());
}
status = 0;
} catch (LDAPException e) {
System.out.println("Error: " + e.toString());
e.printStackTrace();
}
/* Done, so disconnect */
if ((lc != null) lc.isConnected()) {
try {
lc.disconnect();
System.out.println("3=========" +lc.isConnected());
} catch (LDAPException e) {
System.out.println("Error: " + e.toString());
}
}
System.out.println("4=========" +lc.isConnected());
System.exit(status);
}
}
LDAP在JAVA中如何模糊查询
/** * 获得LDAP连接(不通过连接池,直接获得连接) * @return * @throws Exception */ private javax.naming.directory.DirContext getDirContext() throws Exception { DirContext ctx = null; java.util.Hashtable env = new java.util.Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://localhost:389"); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, user); env.put(Context.SECURITY_CREDENTIALS, pwd); ctx = new InitialDirContext(env); return ctx; } /** * 返回用户查询接口 * @param DN 查找范围 ou=test,dc=abcd,dc=com * @param filter 过滤条件 cn=* * @param myserach 搜索范围 * @return LDAP标准接口 * @throws Exception */ public javax.naming.NamingEnumeration getFilter(String DN,String filter,int myserach) throws Exception { DirContext ctx = getDirContext(); try { NamingEnumeration em; SearchControls con = new SearchControls(); con.setSearchScope(myserach); em = ctx.search(DN, filter, con); return em; } finally { // } } /** * 设置条件查找 * @param dn 查找的根结点 * @param filter 查找条件 * @param level 查找范围 * @return 返回一个由DN组成的JAVA STRING 列表 * @throws Exception */ public java.util.Vector getfilterNodes(String dn,String filter,int level) throws Exception { java.util.Vector ve=new java.util.Vector(); NamingEnumeration em=getFilter(dn,filter,level); while(em!=null em.hasMoreElements()) { SearchResult rs=(SearchResult)em.nextElement(); String db=rs.getName(); if (db.trim().equals("")) ve.add(dn); else ve.add(db+","+dn); } return ve; }
java ldap 查询报错,急求大神解决啊,谢谢
LDAP: error code 49表示认证失败
请检查你的BINDDN和对应的密码,一定要写正确才行。
与base DN没有关系。
java查询ldap的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java查询数据库并显示窗口、java查询ldap的信息别忘了在本站进行查找喔。
发布于:2022-12-12,除非注明,否则均为
原创文章,转载请注明出处。