目录:

  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. bzoj 5346: tree (其实是是某次雅礼集训的题)

    用prufer序列的公式直接dp,O(n^4)的算法简简单单就写出来了23333. 按理说 O(n^4)是需要优化成O(n^3)才能过的,然鹅我也不知道我怎么过了23333 (那就懒得优化了hhhhh ...

  2. CocoaPods 错误 target overrides the `OTHER_LDFLAGS`...

    Xcode 升级到 6.0 后,更新 CocoaPods,出现了如下的警告 [!] The `Paopao [Debug]` target overrides the `PODS_ROOT` buil ...

  3. 内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 [问题点数:20分,结帖人wenyang2004]

    在环境里是没有问题的 就是发布网站后,会出现“/”应用程序中的服务器错误.--------------------------------------------------------------- ...

  4. UBIFS分区制作及UBIFS烧写和启动

    参考 http://blog.csdn.net/chongzi865458/article/details/6799258 ubiattach version 1.0 - a tool to atta ...

  5. JAVA实现网页快照,存为图片格式

    原文:http://blog.csdn.net/java2000_net/article/details/3643528 截取的google的效果,将就吧,不是特别好. 但是作为普通的应用,我想这个效 ...

  6. DoTween 部分中文文档

    前言 DOTween现在还处于 alpha,所以还有一些缺失的功能(如路径插件,附加回调和其它的tween选项),这个文档在不久的将来可能会改变. 一.术语 Tweener 一个tween控制valu ...

  7. 【微信】微信小程序 新建页面目录后,怎么自动生成目中的的四个基本文件呢? 新建目录报错如下VM458:2 未找到 app.json 中的定义的 pages "pages/module/module" 对应的 WXML 文件

    如下图,在使用微信开发者工具过程中,新创建了页面目录,想要页面文件夹中自动生成四个基本文件 但是新创建了一个页面文件夹,里面的四个基本文件并没有展示出来 然后在app.json添加这个路径,ctrl+ ...

  8. [置顶] kubernetes资源类型--secret和Service Account

    secret 概念 secret对象类型主要目的是保存和处理敏感信息/私密数据,比如密码,OAuth tokens,ssh keys等信息.将这些信息放在secret对象中比 直接放在pod或dock ...

  9. SQL JOB 调用 SSIS package 权限问题

    来自: http://www.cnblogs.com/sodacc/archive/2012/11/26/2789135.html 第一次用SQL给SSIS包排JOB的时候,都会遇到这样一个问题:单独 ...

  10. vue笔记三(组件)

    十.组件 1.组件中的data为函数 2.props: 父组件向子组件传递数据 子组件:Child.vue <template> <span>{{ myMsg }}</s ...