java连接ldap服务器_从Java应用程序连接LDAP服务器「建议收藏」

java连接ldap服务器_从Java应用程序连接LDAP服务器「建议收藏」我正在构建一个基于GXT(J2EE)的应用程序.现在的问题是我必须将应用程序连接到LDAP服务器.您能告诉我如何从我们的Java应用程序连接LDAP服务器以及我将使用哪些库或API?解决方法:要连接到LDAP,请查看以下包/类:javax.naming.directory.*javax.naming.ladp.*com.sun.jndi.ldap.LdapCtxFactorycom.sun.jnd…

大家好,又见面了,我是你们的朋友全栈君。

我正在构建一个基于GXT(J2EE)的应用程序.现在的问题是我必须将应用程序连接到LDAP服务器.您能告诉我如何从我们的Java应用程序连接LDAP服务器以及我将使用哪些库或API?

解决方法:

要连接到LDAP,请查看以下包/类:

javax.naming.directory.*

javax.naming.ladp.*

com.sun.jndi.ldap.LdapCtxFactory

com.sun.jndi.ldap.ControlFactory

示例代码:

//build a hashtable containing all the necessary configuration parameters

Hashtable environment = new Hashtable();

environment.put(LdapContext.CONTROL_FACTORIES, conf.getProperty(“ldap.factories.control”));

environment.put(Context.INITIAL_CONTEXT_FACTORY, conf.getProperty(“ldap.factories.initctx”));

environment.put(Context.PROVIDER_URL, conf.getProperty(“ldap.host”));

environment.put(Context.SECURITY_AUTHENTICATION, “simple”);

environment.put(Context.SECURITY_PRINCIPAL, conf.getProperty(“ldap.user”));

environment.put(Context.SECURITY_CREDENTIALS, conf.getProperty(“ldap.password”));

environment.put(Context.STATE_FACTORIES, “PersonStateFactory”);

environment.put(Context.OBJECT_FACTORIES, “PersonObjectFactory”);

// connect to LDAP

DirContext ctx = new InitialDirContext(environment);

// Specify the search filter

String FILTER = “(&(objectClass=Person) ((sAMAccountName=” + user.getUsername() + “)))”;

// limit returned attributes to those we care about

String[] attrIDs = { “sn”, “givenName” };

SearchControls ctls = new SearchControls();

ctls.setReturningAttributes(attrIDs);

ctls.setSearchScope(SearchControls.SUBTREE_SCOPE);

// Search for objects using filter and controls

NamingEnumeration answer = ctx.search(searchBase, FILTER, ctls);

SearchResult sr = (SearchResult) answer.next();

Attributes attrs = sr.getAttributes();

surName = attrs.get(“sn”).toString();

givenName = attrs.get(“givenName”).toString();

在这个例子中,我有一个Configuration对象,它从配置文件中读取这些值.

价值观将是:

# LDAP parameters

ldap.host = ldap://ldap.mydomain.com:389

ldap.factories.initctx = com.sun.jndi.ldap.LdapCtxFactory

ldap.factories.control = com.sun.jndi.ldap.ControlFactory

ldap.searchbase = dc=mydomain,dc=us

ldap.user = MYDOMAIN.COM\\ldap-user

ldap.userBase= MYDOMAIN.COM\\

ldap.password = ******

标签:gxt,java,ldap

来源: https://codeday.me/bug/20191004/1853865.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146696.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Win10安装wget_linux wget安装

    Win10安装wget_linux wget安装安装下载点击下载依次如下:1.2、将下载好的wget.exe放到C:/windows/system32文件夹下3.3、在cmd中输入wget–version如下则成功:测试下载图片wgethttp://q1.xiongmaoya.com/2021/08/09/26045/1.jpg

    2022年10月17日
    3
  • 开源crm管理系统源码_客户关系管理的内容

    开源crm管理系统源码_客户关系管理的内容CRM管理系统源码,客户关系管理系统源码开发语言:PHP数据库:Mysql开发工具:phpstrom源码类型:WebForm系统功能简介:1、系统管理:1.部门管理2.岗位管理3.员工管理4.角色管理5.日志管理2、客户管理:客户管理:客户列表、客户联系人、服务记录 销售管理:销售机会、跟踪记录、产品报价、项目报备 合同管理:合同详细、新增合同 订单管理:广告订单、执行计划、订单执行、收款记录3、库存管理:1.入库管理…

    2022年9月16日
    2
  • mysql datetime格式化日期(sql 日期格式)

    mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,现提供mysql格式换时间函数,可以方便的看到格式化后的时间。1.DATE_FORMAT()函数用于以不同的格式显示日期/时间数据。DATE_FORMAT(date,format)format参数的格式有%a缩写星期名%b缩写月名%c月,数值%D带有英文前缀的月中的天%d月的天,数值(00-31)%e月的天,数…

    2022年4月15日
    132
  • Linux下通配符总结

    Linux下通配符总结

    2021年12月1日
    41
  • javascript中onclick(this)用法和onclick(this.value)用法介绍

    javascript中onclick(this)用法和onclick(this.value)用法介绍

    2021年11月3日
    44
  • Java byte 转化为 String「建议收藏」

    Java byte 转化为 String「建议收藏」1、Java中byte转化为String,代码如下packagenice.com.mian;importjava.io.UnsupportedEncodingException;publicclassStringMain{ publicstaticvoidmain(String[]args)throwsException{ byte[]…

    2022年6月21日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号