JAVA,OpenLDAP使用心得.docxVIP

  • 5
  • 0
  • 约1.46万字
  • 约 11页
  • 2017-05-27 发布于河南
  • 举报
JAVA,OpenLDAP使用心得

http://njc?JAVA,OpenLDAP使用心得//如何安装已经在官方文档有了,一步步的照着做就可以/usr/local/etc/openldap/slapd.conf中可以找到schema,pid以及数据库文件存放的路径我修改了/usr/local/etc/openldap/slapd.conf文件,但是发现没啥用,原来是忘了把slapd停止重新启动了。关于停止slapd,官方给的是:kill -INT cat /usr/local/var/slapd.pid但是我执行以后提示bash: kill: cat /usr/local/var/slapd.pid: arguments must be process or job IDs用find /usr -name slapd.pid命令找到了在/usr/local/var/run/下,把命令改为:kill -INT `cat /usr/local/var/run/slapd.pid`重新运行slapd:su root -c /usr/local/libexec/slapd建议执行/usr/local/libexec/slapd -d256 命令,这样既可以在命令行看到出错信息,也可以用Ctrl+C停止进程关于rootpw,很多地方都说rootpw和密码值之间不能加空格,不然会出错。有个解决的办法:rootpw secret? 加了双引号,只要输入的密码和引号里面的对应就可以了。很多人在测试ldapadd命令时,都遇到过ldap_bind: Invalid credentials(49)错误,看看rootdn????????? cn=Manager,dc=example,dc=com和自己的ldif里面的dn参数是不是匹配,如果不匹配就需要修改,修改后记得要停止重启哦(我还不知道怎么重新读取配置的方法,只能用这种笨方法了)折腾了一天,终于初步了解JAVA怎么在OpenLDAP增加删除数据了。代码如下/**?*?* @author chenyi?*/import java.util.Hashtable;import javax.naming.Context;import javax.naming.NamingException;import javax.naming.directory.*;import java.util.*;public class ChenYi {??? DirContextctx = null;??? String account = Manager;//操作LDAP的帐户。默认就是Manager。??? String password = secret;//帐户Manager的密码。??? String root = dc=example,dc=com; //LDAP的根节点的DC??? publicChenYi() {??????? init();??????? add();??????? //delete();??????? close();??? }??? public void init() {??????? Hashtableenv = new Hashtable();??????? env.put(Context.INITIAL_CONTEXT_FACTORY, com.sun.jndi.ldap.LdapCtxFactory);????????env.put(Context.PROVIDER_URL, ldap://21:389/);????????????? env.put(Context.SECURITY_AUTHENTICATION, simple);??????? env.put(Context.SECURITY_PRINCIPAL, cn= + account + , + root);??????? env.put(Context.SECURITY_CREDENTIALS, password);??????? try {??????????? ctx = new InitialDirContext(env);//初始化上下文??????????? System.out.println(认证成功);//这里可以改成异常抛出。??????? } catch (javax.naming.AuthenticationException e) {??????????? System.out.println(认证失败);??????? } catch (Exception e) {??????????? System.out.println(认证出错: + e);??????? }??? }??? public void add()

文档评论(0)

1亿VIP精品文档

相关文档