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


相关推荐

  • harbor搭建详解(仓库阁楼搭建效果图)

    一、Harbor介绍Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的DockerRegistry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能二、环境准备Harbo…

    2022年4月18日
    50
  • 在Ubuntu上使用FreeFileSync同步文件

    在Ubuntu上使用FreeFileSync同步文件FreeFileSync可以在Windows,Linux,macOS上面运行。本文使用操作系统是Ubuntu18.04。安装FreeFileSync下载程序,并解压。$wgethttps://freefilesync.org/download/FreeFileSync_11.0_Linux.tar.gz$tarxvfFreeFileSync_11.0_Linux.tar.gz解压之后进入FreeFileSync文件夹,就可以双击运行程序了。我们可以创建一个启动器,这样我们可以从桌面运

    2022年5月16日
    45
  • 判断IPV6地址格式是否正确

    判断IPV6地址格式是否正确1 判断 IPV6 格式字串是否正确此功能代码实现判断 IPV6 地址是否正确 正确返回 1 错误误返回 0 defineH x unsignedchar amp x 0 defineL x unsignedchar amp x 1 char abbr ipv6 字符串 unsignedchar ret buf

    2025年8月21日
    3
  • struts2拦截器详解_拦截和修改tcp数据

    struts2拦截器详解_拦截和修改tcp数据Struts2中的拦截器和servelt中的过滤器是非常的相似的。如果学过过滤器的话,肯定能够感觉的到,尽管有些微的不同。可是struts2的拦截器到底如何使用呢,为什么会有这些配置呢?接下来一一来看。 过滤器和拦截器是非常相似的,过滤器publicinterfaceFilter接口里面有三个方法: init(FilterConfigfilterConfig),des

    2022年9月28日
    3
  • 越权访问漏洞总结

    越权访问漏洞总结一、平行越权攻击者请求操作(增删改查)某条数据时,web应用程序没有判断该条数据的所属人,或者在判断数据所属人时直接从用户提交的表单参数中获取,例如用户id等,导致攻击者可以自行修改参数,操作获取不属于自己的数据。测试方法:在发送请求时观察请求参数,尝试修改用户id或者其他参数验证是否能查看不属于自己的数据,进行增删改查,若成功则存在平行越权的漏洞。 二、纵向越权和平行越权相似…

    2022年6月17日
    39
  • Centos7离线安装autoconf

    Centos7离线安装autoconf文章目录1.安装步骤1.1安装M41.2安装perl的依赖包perl-Data-Dumper1.3安装autoconf2.安装过程参考1.安装步骤1.1安装M4下载:http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz拷贝到centos系统上,并解压:tar-xzvfm4-1.4.13.tar.gz到解压目录中:cdm4-1.4.13#配置编译环境./configure–prefix=/usr/local#编

    2022年6月4日
    58

发表回复

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

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