ldapjava,ldapjava创建账号

本文目录一览:

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; }

关于ldap java验证的问题

我写过这类代码,与你这段代码有些不一样。

env.put(Context.SECURITY_AUTHENTICATION, “none”);这段中我指定他的认证方式是”simple”,也就是采用用户名/密码的方式认证,我也不是很清楚采用none是否能够成功认证。

认证用的用户名应该要写全,你需要查看每一个上级节点的属性,打个比方,IS是CN,FADU是DC,funo.com.cn是DC,那你的认证用户名就应该是:

DC=funo.com.cn,DC=FADU,CN=IS,CN=caiwei

你先试一下吧,还有问题再讨论,令附上LDAP ERROR CODE:

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/186325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-11-27 05:45
下一篇 2024-11-27 05:45

相关推荐

  • Pythonista共享账号下载完整指南

    Pythonista是一款在iOS平台上运行的Python集成开发环境(IDE),在Pythonista社区中,用户可以共享他们编写的代码片段和脚本。 Pythonista共享账号…

    编程 2025-04-27
  • 详解GitLab管理员账号功能

    GitLab是一个功能强大的版本控制系统,也是一款团队协作平台,它可以帮助团队高效地进行代码管理和协作。在GitLab中,管理员账号拥有特殊的权限,可以对GitLab平台的各项功能…

    编程 2025-04-22
  • ebay注册账号流程详解

    一、注册准备 1、注册时需要提供真实信息:姓名、地址、电话、电子邮件地址等。 2、选择一个易于记忆且没有被用过的用户ID和密码。 3、确定注册类型,是个人账号还是商家账号。 二、注…

    编程 2025-02-27
  • 如何申请苹果开发者账号

    苹果开发者账号是开发iOS应用程序的必要步骤,本文将详细介绍如何申请苹果开发者账号。首先,我们需要准备以下资料: 一、苹果开发者官网 进入苹果开发者官网 https://devel…

    编程 2025-02-25
  • 账号密码注册详解

    账号密码注册是当前互联网服务的常见形式之一。本文将从多个方面对账号密码注册做详细的阐述,涵盖注册原理、密码安全、注册流程优化、注册成功跳转和错误处理等内容。 一、注册原理 账号密码…

    编程 2025-02-15
  • 手把手教你注册(拳头账号注册教程)

    拳头游戏(Riot Games)是美国一家游戏制作公司。也是全球非常热门游戏league of legends(英雄联盟)母公司。而且最近云顶之弈手机游戏模式的正式测试,因为云顶之…

  • 账号注册步骤详解(如何steam账号注册手机)

    最近我们游戏风云的“风云小店”开张了,新店优惠哟~卖的比steam还要便宜,不过不少的小伙伴是第一次接触steam,对注册账号还有些困惑?就随着小编我的文章…

  • 从apple账号登录看账号体验

    如今,我们生活在一个信息化程度越来越高的时代,各种账号的重要性也越来越突出。Apple作为科技公司的代表之一,其账号的使用也越来越普遍。接下来,我们将从多个方面,详细阐述apple…

    编程 2025-02-05
  • 联通超级管理员账号完整阐述

    一、联通超级管理员账号密码 联通超级管理员账号是联通公司的特别高权限账号,对于联通网络架构的管理有着重要的作用。在创建联通超级管理员账号时,必须设置强密码来确保账号的安全性。一般来…

    编程 2025-01-24
  • Oracle账号解锁详解

    一、Oracle解锁表 在Oracle中,当一张表被锁定了,其他的用户就不能对该表进行任何修改操作。为了解锁表,我们需要使用解锁表的语句。对于不同的锁定类型,解锁表的语句也不同,下…

    编程 2025-01-16

发表回复

登录后才能评论