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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 带你了解软件系统架构的演变

    带你了解软件系统架构的演变一个成熟的系统,并不是一开始就做到方方面面都完美,也不会去考虑什么高并发,高可用问题,但随着时间的推移,现有架构的问题就会慢慢的显现。比如用户激增,访问量不断增大,在这过程中,会不断的出现新的问题,而为了解决这些问题,软件技术架构都会发生重大变化,而针对不同业务特征的系统会有各自的侧重点,像淘宝这类网站要解决的事海量商品搜索下单支付等问题。像腾讯要解决数亿级别用户的实施消息传输等。每种业务都有自己不同的系统架构。以JavaWeb为例搭建简单的电商系统这个电商系统有多个业务模块,假设现在有:.

    2022年6月17日
    22
  • 大数据开发工程师需要具备哪些技能?[通俗易懂]

    目录:1.典型需求2.40K以上专家必备技能3.项目中的迷宫场景部件制作4.Hadoop生态核心原理一、典型需求(互联网公司)二、40K以上专家必备技能三、大数从业者角色分类四、Hadoop生态核心原理1.大数据整体画像 数据流程 数据技术 2.大数据平台整体画像 大数据平台逻辑划…

    2022年4月16日
    46
  • JVM异常FGC问题查找过程总结

    JVM异常FGC问题查找过程总结问题现象及分析可能原因分析手动重现异常大对象问题流量暴涨CPU资源被其他进程占用内存被其他进程占用的情况swap分区问题数据库连接异常堆文件分析shell脚本JVM问题排查总结其他遗留的问题前段时间线上的zzuser的服务模块出现大量的异常FGC情况,经过大量排查工作,最后锁定是因为一个sql的大查询导致的。这也给了我非常大的教训,同时我在这次问题的排查过程中也获益匪浅,

    2022年6月19日
    29
  • DNS负载均衡技术

    DNS负载均衡技术负载均衡技术能够平衡服务器集群中所有的服务器和请求应用之间的通信负载,根据实时响应时间进行判断,将任务交由负载最轻的服务器来处理,以实现真正的智能通信管理和最佳的服务器群性能,从而使网站始终保持运行和保证其可访问性。  为了充分利用现有服务器软件的种种优势,负载均衡最好是在服务器软件之外来完成。而最早使用的负载均衡技术是通过DNS服务中的随机名字解析来实现的。这就是通常所说的DNS负载均衡

    2022年7月14日
    12
  • struts2 FilterDispatcher 和 StrutsPrepareAndExecuteFilter 的区别

    struts2 FilterDispatcher 和 StrutsPrepareAndExecuteFilter 的区别转自:http://blog.csdn.net/s_ongfei/article/details/5811070FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.! StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.! 这样的改革当然是有好处的.! 为什么这么说.?应该知道如果我们自…

    2022年8月16日
    4
  • 关于iframe

    关于iframe

    2022年3月3日
    48

发表回复

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

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