目录:

  1. 配置搭建OpenLDAP
  2. 给数据库添加数据
  3. 测试查询刚刚插入的数据
  4. 客户端介绍

一、概述

什么是LDAP?

轻量级目录访问协议:

所述轻量级目录访问协议,或 LDAP,是一种应用协议用于查询和修改目录服务运行在TCP / IP通过维基百科).LDAP全称是一个轻量级的目录访问协议,它是建立在TCP / IP基础之前的用户查询和修改目录服务的。这是照着wiki翻译的,但是有人要问了什么是目录Service(目录服务)?

按照wiki的说法的话讲:在软件行业,目录就如同一个字典,他使得通过某一名称去查找绑定在该名称上的值得方式成为一种可能。有点类似Java中Map的概念.a 目录服务仅仅是一个存储,组织和提供对目录中信息的访问的软件系统。一个目录服务就是一个简单的软件系统,在这个目录上提供了存取和组织信息的功能.LDAP目录中可以存储各种类型的数据:电子邮件地址,邮件路由信息,人力资源数据,公用密匙,联系人列表,等等。

二、安装测试环境

openLDAP官方网站:http://www.openldap.org/

openLDAP官网只提供了linux平台的相关安装文件,windows平台的安装包可以到以下一些网站下载:

  • http://www.userbooster.de/download/openldap-for-windows.aspx
  • http://sourceforge.net/projects/openldapwindows/files/
  • http://sourceforge.jp/projects/openldapwin32/releases/

三、安装过程

按照提示 一直 next ,直到安装完成:

安装

secret

安装完成后,在系统服务中(运行>services.msc),找到 OpenLDAP Service,先停止服务,再把启动类型修改成手动,便于自己的测试。

四、启动配置

1、配置搭建OpenLDAP

安装目录:F:\ruanjian\OpenLDAP

编辑文件:F:\ruanjian\OpenLDAP\slapd.conf 找到如下内容:

database    bdb
suffix "dc=maxcrc,dc=com"
rootdn "cn=Manager,dc=maxcrc,dc=com"
rootpw {SSHA}GQkk5tV5LLQIRzctKNfW/B46ZLlhH/dg

下面的根据自己的需要修改:

database    bdb
suffix "dc=maxcrc(可修改),dc=com"
rootdn "cn=Manager,dc=maxcrc(可修改),dc=com"
rootpw {SSHA}GQkk5tV5LLQIRzctKNfW/B46ZLlhH/dg(可修改密码)

======================扩展======================

这里引申一下LDAP主要的简称含义:

  • o– organization(组织-公司)
  • ou – organization unit(组织单元-部门)
  • c – countryName(国家)
  • dc – domainComponent(域名)
  • sn – suer name(真实名称)
  • cn – common name(常用名称)

①设置manager的访问密码,CMD中键入slappasswd,按照提示输入两遍密码,即生成了加密后的密码串

②(也可以用MD5加密方式,命令:slappasswd -h {MD5}),复制粘贴到slapd.conf文件的rootpw部分(本文不用,因为用的默认密码,如果用的自己的密码可以用这个办法加密)

======================扩展======================

打开控制台,切换到openLDAP安装目录下,启动openLDAP,命令如下:slapd -d 1

但是cmd一直报:

经过痛苦的查询,突然发现显示数据库被占用,解决办法:进入“服务”中,先停止服务,再进入cmd再输入“slapd -d 1”

启动成功!搭建LDAP服务器完成!

(注:以上内容参考地址《图文介绍openLDAP在windows上的安装配置》)

 2、给数据库添加数据

新建一个文件:D:\Program Files (x86)\OpenLDAP\mydemo.ldif ,内容如下:

dn: dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明)
objectclass: top
objectclass: dcobject
objectclass: organization
dc: maxcrc
o: swust dn: o=swust,dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明)
objectclass: organization
o: swust dn: ou=Developer,o=swust,dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明)
objectclass: organizationalUnit
ou: Developer dn: cn=xxx xxx,ou=Developer,o=swust,dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明)
objectclass: person
sn:xxx
cn:xxx xxx dn: ou=Tester,o=swust,dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明)
objectclass: organizationalUnit
ou: Tester

上面定义格式内容,参考文档《ldif的数据结构及一个DEMO》。

mydemo.ldif保存为txt文件格式,并且编码要求为ANSI

tips:格式要严格,每行的开头和末尾不能有空格

然后再命令行中输入“slapadd -v -l ./mydemo.ldif”,因为我没有没有”ldapadd“这个命令。

但是有的小伙伴会出现下列错误:

①str2entry: entry -1 has no dn

slapadd: could not parse entry (line=1)

经过查询资料得知可能是因为txt文档编码问题,之前一直用的“UTF-8”编码,保存变为“ANSI”编码就可以了。

②还有一种是报:(changetype):attribute type undefined,【刚刚上面说不要复制的问题】

经过查询得知我原来添加了“changetype: add”属性,不要这一行就可以了。

③还有一种简单的问题就是database already in use

这个是因为数据库被占用了,需要先关闭LDAP服务器才可以。(把下面的CMD命令行关闭就可以)

因为slapadd 只能对本地的LDAP服务进行操作,操作时本地LDAP服务必须先停止

^_^困扰了我一天的问题终于解决啦~~~

3、测试查询刚刚插入的数据

先启动LDAP服务,参照上面描述:命令行输入“slapd -d 1”

然后,命令行cd定位到“F:\ruanjian\OpenLDAP\ClientTools”文件夹下,再输入“ldapsearch -x -b "dc=maxcrc,dc=com" "(objectclass=*)"”查询

查询结果如下:

验证成功噢耶!

相关其他文档参考:《LDIF修改ldap记录或配置示例》、《LDAP读书笔记4-LDIF文件

 4、客户端介绍

网上搜索到一个客户端:LdapBrowser282  附件提供相关下载:LdapBrowser282.zip

下载解压后直接双击:lbe.bat 文件即可运行。

点击上图中的 Fetch DNs 按钮会自动获取相关的DN信息的。

上面的输入的密码就是之前安装过程中的那个密码(如果自己没有修改过)

可以正确查询到之前添加的相关信息。

五、JMeter建立一个扩展LDAP服务器的性能测试脚本开发(搜索为例)

1、添加线程组:

2、默认配置(登陆配置元件、LDAP请求默认值)

用户名、密码、服务器、端口、DN都跟上面讲的客户端一致,不细说了。

3、添加LDAP请求

①首先可以添加“简单控制器”(可有可无),在控制器下添加两个“扩展LDAP请求

②第一个“扩展LDAP请求”的测试配置选择“Thread Bind”(必选)、“Connection timeout”(非必填)

③第二个“扩展LDAP请求”的测试配置选择“Thread Bind”(必选)、“Connection timeout”(非必填)

导入条目显示:

客户端显示:

search base:定位到根节点

search filter:搜索筛选器(详情见下)

具体文字解释说明可以参照:《Jmeter—扩展LDAP测试》、《Jmeter建立一个扩展LDAP测试计划

------------------------------------------------------------------------------------------------------------

1、search base:(可选) 进入searchbase下你想执行搜索,相对于basedn,用于绑定请求的线程。
   空的时候,作为搜索basedn基地,这文件是很重要的,如果你想使用一个“基本项”或“一级”的搜索

   在Search base域中输入搜索的根节点,即RDN。如果此域为空,将使用基础的DN作为搜索的根节点。

2、search filter:进入searchfilter,任何像样的LDAP搜索筛选器会做,但是现在,使用一些简单的,喜欢 (sn = Doe) 或 (cn = *)
3、scope:(可选) 范围字段中输入范围,它有三个选择:
 (1)baseobject搜索
  只使用给定searchbase,只有检查属性或存在。
 (2)onelevel搜索
  只搜索一个水平低于给定searchbase使用
 (3)子树搜索
  搜索对象在任何时候低于给定basedn
4、Size limit:(可选) 大小限制,指定返回条目的最大数量,
5、Time limit:(可选) 时间限制,指定最大的毫秒数,服务器可以使用来执行搜索。 这不是应用程序将等待的最长时间。
  很大returnset返回时,从一个非常快的服务器,在一个非常缓慢,你可能需要等待很长时间搜索请求的完成,但是这个参数不会影响。
6、Attributes:(可选) 你想要在搜索答案属性。 这可以用来限制大小的答案,特别是当有非常大的属性(比如一个对象 jpegPhoto)。 有三种可能性:
 (1)离开空(默认设置也必须是空的)这将返回所有属性。
 (2)放在一个空值( ”“ ),它将请求一个不存在的属性,所以在现实中它没有返回任何属性的属性,用分号隔开。 它将只返回所请求的属性
7、Return object:(可选) 返回对象。 检查将返回所有java对象属性,将添加这些请求的属性,如上面指定的。
  不意味着没有java对象属性将返回。
8、Dereference aliases:(可选) 废弃的别名。 检查将意味着它将跟随引用,不不会说。
9、Parse the search results:(可选) 解析搜索结果。 检查将意味着它会导致响应数据,不不会说。

------------------------------------------------------------------------------------------------------------

4、添加监听器

5、点击运行,并且在“查看结果树”中查看响应结果数据

至此,win8.1系统搭建LDAP以及JMeter测试脚本开发部分截止。

对LDAP的性能测试还可以参照:《Jmeter—扩展LDAP测试》、《Jmeter建立一个扩展LDAP测试计划

包括(对比,修改、删除等测试请求)

==============================================================================

附:LDAP学习资料

LDAP的特定错误

https://www.cnblogs.com/phpliu/archive/2013/09/24/3336713.html

大神:http://seanlook.com/2015/01/22/openldap_ldif_example/

小申:https://blog.csdn.net/jiujiuming/article/details/70057904

配置:http://www.micmiu.com/enterprise-app/sso/openldap-windows-config/

错误总结:https://blog.csdn.net/zdwzzu2006/article/details/8550910

error:http://qxjabc.blog.163.com/blog/static/109450820100276465324/

【JMeter4.0学习(二)】之搭建openLDAP在windows8.1上的安装配置以及JMeter对LDAP服务器的性能测试脚本开发的更多相关文章

  1. 【JMeter4.0学习(五)】JMeter对服务器监控测试脚本开发

    目录: 下载相关JMeter插件 服务器监控测试脚本开发 附:参考相关文档 本文主要来说一下如何通过JMeter插件来监控服务器CPU.内存.磁盘.网络等相关资源. 一.首先,需要下载相关JMeter ...

  2. 【JMeter4.0学习(三)】之SoapUI创建WebService接口模拟服务端以及JMeter对SOAP协议性能测试脚本开发

    目录: 创建WebService接口模拟服务端 下载SoapUI 新建MathUtil.wsdl文件 创建一个SOAP项目 接口模拟服务端配置以及启动 JMeter对SOAP协议性能测试脚本开发 [阐 ...

  3. 【JMeter4.0】之 “jdk1.8、JMeter4.0” 安装与配置以及JMeter永久汉化和更改界面背景、并附加附录:个人学习总结

    目录: 一.首先,需要安装.配置jdk 二.其次,安装.配置JMeter 三.JMeter汉化以及更改界面背景 四.附录:个人学习总结 一.首先,需要安装.配置jdk   返回目录 1.到官网下载1. ...

  4. 【JMeter4.0学习(四)】之JMeter对JMS性能测试脚本开发

    目录: 安装ActiveMQ并启动服务 JMeter对JMS点到点测试计划 JMeter JMS主题测试计划 附:相关学习地址 一.ActiveMQ官方下载地址:http://activemq.apa ...

  5. 【JMeter4.0学习(十一)】之JMeter对(Mysql、Oracle)数据库性能测试脚本开发

    一.MySQL数据库链接: 注:下面所产生的问题一律参考详见:<[JMeter4.0]之遇到的问题总结(持续更新)>(包括Mysql.Orcale) 准备:引包,包路径一定要放对位置,参考 ...

  6. 【JMeter4.0学习(七)】之配置元素

    目录 CSV Data Set Config HTTP Cookie管理器 HTTP信息头管理器 JDBC Connection Configuration 用户定义的变量 计数器 一.CSV Dat ...

  7. 【JMeter4.0】二、JMeter4.0安装与配置

    二.安装配置JMeter jmeter是一个纯java工具,因此,JDK必不可少,现在最新版的jmeter是4.0,建议使用1.8及以上的JDK安装配置JDK,如没有,请见:[JMeter4.0]一. ...

  8. 【JMeter4.0学习(一)】之FTP性能测试脚本开发,并实现上传下载功能

    参考:<Jmeter常用脚本开发之FTP请求>感谢作者:rosa2015 一.首先,搭建FTP服务器,参考地址:<[FTP]之windows8.1上搭建FTP服务器方法> 二. ...

  9. Mongodb3.0.5副本集搭建及spring和java连接副本集配置

    这是去年写的一篇文档,最近突然发现并没有发不出来,因此现在补上,希望能对某些朋友有所帮助.因为当时记录时没有截图,因此这里看起来可能就比较单调. 一.基本环境: mongdb3.0.5数据库 spri ...

随机推荐

  1. linux PHP 安装及 GD库安装

    linux GD库安装 GD 安裝 第一部需要做的是先要安裝 GD 到系統內,而安裝 GD 前需要安裝 jpeg-6b, libpng, zlib, freetype.以下是下载网址:GD 2.0.3 ...

  2. MySQL中in子查询会导致无法使用索引问题(转)

    MySQL的测试环境 测试表如下 create table test_table2 ( id int auto_increment primary key, pay_id int, pay_time ...

  3. 分布式数据库以及OS

    http://blog.csdn.net/longronglin/article/category/230501

  4. 在Android中解决内存溢出 – OutOfMemoryError

    原文链接:http://riggaroo.co.za/fixing-memory-leaks-in-android-outofmemoryerror/ 注:本文在原文基础上在如何判断内存是否泄露方面进 ...

  5. 数据库读写锁的实现(C++)

    一.基本概念 在数据库中,对某数据的两个基本操作为写和读.分布有两种锁控制:排它锁(X锁).共享锁(S锁). 排它锁(x锁):若事务T对数据D加X锁,则其他不论什么事务都不能再对D加不论什么类型的锁. ...

  6. Litepal 数据库操作框架的使用 (火)

    LitePal是GitHub上一款开源的Android数据库框架. 它採用了对象关系映射(ORM)的模式,将平时开发时最经常使用的一些数据库功能进行了封装.使得开发人员不用编写一行SQL语句就能够完毕 ...

  7. python 注释xml的元素

    use xml.dom.minidom 注释xml元素和去除xml注释. code is: #!/usr/bin/env python from xml.dom import minidom impo ...

  8. 转:Hash, MAC,HMAC说明

    from: http://www.cnblogs.com/songhan/archive/2012/07/29/2613898.html Hash, MAC,HMAC Hash-MD5, SHA-1, ...

  9. ITIL,是否已是昨日黄花

    首先声明自己不是ITIL方面的专家,特别是具体的规范细节,后面论述如有不当,请指正.但我为什么会提起它?主要是因为它和运维(IT服务管理)相关性太大了.早起的运维完全就是以ITIL来蓝本构建的,在当时 ...

  10. [Tools] Create a Simple CLI Tool in Node.js with CAC

    Command-line tools can help you with all sorts of tasks. This lesson covers the very basics of setti ...