[TOC]
# 名称:
LDAP Query | 目录数据查询
# 图标:
![](https://img.kancloud.cn/da/d8/dad87624fbbf708f66d7b2cd0773d76b_38x35.PNG =35x35)
# 功能:
* 此模块是一个组合元件
* 查询LDAP目录数据库中的信息
* 可视化的元件位于授权版本的开发平台的“集成功能元件”类的元件选项区中
# 使用方式:
## 查询轻量级目录数据库文件中内容
### 输入
* <**Server Name**>:字符类型的输入,单数,必须项;输入LDAP目录数据库所在服务器地址,比如:“ldap://l-ldapt1.ops.dev.cn0.qunar.com”
* <**Security Protocol**>:字符类型的输入,单数,必须项;输入安全协议名称字符,如“TLS1.2”
* <**User Name**>:字符类型的输入,单数,必须项;输入用户账号或用户名称
* <**Password**>:字符类型的输入,单数,必须项;输入用户账号对应的密码字符
* <**Base Name**>:字符类型的输入,单数,必须项;输入将要被搜索的目录的LDAP项的名称(distinguished name)
* <**Filter**>:字符类型的输入,单数,必须项;输入简单的查询条件字符串,如:“givenName=${Name}”,其中“Name”项可以手动添加一个输入元件命名为“Name”作为查询条件的参数输入项
### 输出:
* <**None**>:空值输出,单数,非必须项;无查询结果时输出一个空值,用于触发下一步处理的逻辑或对象元件
* <**Results**>:数据结构类型的输出,单数,非必须项;可以自己定义数据结构,其中包括属性名称和值两个变量子元件
## 示例:
### 案例:输入参数即可查询LDAP数据文件中的信息
:-: ![](https://img.kancloud.cn/82/93/829314ebc313d848e7512f4a190f6591_762x392.PNG)
# LDAP相关介绍:
## **什么是LDAP?**
**(一)在介绍什么是LDAP之前,我们先来介绍一个东西:“什么是目录服务?**”
1. 目录服务是一个特殊的数据库,用来保存描述性的、基于属性的详细信息,支持过滤功能
2. 是动态的,灵活的,易扩展的
如:人员组织管理,电话簿,地址簿
**(二)了解完目录服务后,我们再来看看LDAP的介绍:**
* LDAP(Light Directory Access Portocol),它是基于X.500标准的轻量级目录访问协议
* 目录是一个为查询、浏览和搜索而优化的数据库,它以树状结构组织数据,类似文件目录一样
* 目录数据库和关系数据库不同,它有优异的读取性能,但写入性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好象它的名字一样
* LDAP目录服务是由目录数据库和一套访问协议组成的系统
**(三)为什么要使用LDAP**
* LDAP是开放的Internet标准,支持跨平台的Internet协议,在业界得到广泛认可,并且市场上或者开源社区上的大多产品都加入了对LDAP的支持,因此对于这类系统,不需单独定制,只需要通过LDAP做简单的配置就可以与服务器做认证交互。“简单粗暴”,可以大大降低重复开发和对接的成本
* 例如我们本章节的“Check Password LDAP单点登录认证”元件就是一个验证用户信息的简单应用
**LDAP的主要产品**
* LDAP的中文全称是:轻量级目录访问协议,说到底LDAP仅仅是一个访问协议,那么我们的数据究竟存储在哪里呢?
我们一起看下下面的表格:
| 厂商 | 产品 | 介绍 |
| :---: | :---: | :---: |
| SUN | SUNONE Directory Server | 基于文本数据库的存储,速度快 |
| IBM | IBM Directory Server | 基于DB2 的的数据库,速度一般 |
| Novell | Novell Directory Server | 基于文本数据库的存储,速度快, 不常用到 |
| Microsoft| Microsoft Active Directory | 基于WINDOWS系统用户,对大数据量处理速度一般,但维护容易,生态圈大,管理相对简单 |
| Opensource | OpensourceOpenLDAP | 开源的项目,速度很快,但是非主 流应用 |
这就是正常存储数据的地方,而访问这些数据就是通过我们上述所说的LDAP
**三、LDAP的基本模型**
每一个系统、协议都会有属于自己的模型,LDAP也不例外,在了解LDAP的基本模型之前我们需要先了解几个LDAP的目录树概念:
**(一)目录树概念**
1. 目录树:在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目
2. 条目:每个条目就是一条记录,每个条目有自己的唯一可区别的名称(DN)
3. 对象类:与某个实体类型对应的一组属性,对象类是可以继承的,这样父类的必须属性也会被继承下来
4. 属性:描述条目的某个方面的信息,一个属性由一个属性类型和一个或多个属性值组成,属性有必须属性和非必须属性
**(二)DC、UID、OU、CN、SN、DN、RDN**
| 关键字 | 英文全称 | 含义 |
| :---: | :---: | :---: |
| dc | Domain Component | 域名的部分,其格式是将完整的域名分成几部分,如域名为example.com变成dc=example,dc=com(一条记录的所属位置)|
| uid | User Id | 用户ID songtao.xu(一条记录的ID)|
| ou | Organization Unit | 组织单位,组织单位可以包含其他各种对象(包括其他组织单元),如“oa组”(一条记录的所属组织)|
| cn | Common Name | 公共名称,如“Thomas Johansson”(一条记录的名称)|
| sn | Surname | 姓,如“许” |
| dn | Distinguished Name | “uid=songtao.xu,ou=oa组,dc=example,dc=com”,一条记录的位置(唯一)|
| rdn | Relative dn | 相对辨别名,类似于文件系统中的相对路径,它是与目录树结构无关的部分,如“uid=tom”或“cn= Thomas Johansson” |
(三)基本模型:
**信息模型:**
1. 信息是以树状方式组织的
2. 基本数据单元是条目
3. 每个条目由属性和值构成
**命名模型:**也叫条目定位方式,每个条目都有自己的DN,为其名称标识,带路径的文件名就是一个DN
**功能模型:**主要有查询操作、更新操作、认证类操作、其他扩展操作,其中查询操作(本节元件)和[认证操作](./1221171)可以用无代码元件来直接设计所需功能
**安全模型:**LDAP的安全主要是告身份验证、安全通道、访问控制来实现的,参考元件中的输入参数
**四、LDAP的使用**
* 我们是如何访问LDAP的数据库服务器的?
:-: ![](https://img.kancloud.cn/38/98/3898fdf7c45d425b22b107b00f47f479_556x402.PNG)
* 统一身份认证:此功能主要是改变原有的认证策略,使需要认证的软件都通过LDAP进行认证,在统一身份认证之后,用户的所有信息都存储在AD Server中。终端用户在需要使用公司内部服务的时候,都需要通过AD服务器的认证
* LDAP访问过程:
~~~
1. 连接到LDAP服务器
2. 绑定到LDAP服务器
3. 在LDAP服务器上执行所需的任何操作
4. 释放LDAP服务器的连接
~~~
- TERSUS概述
- 开始开发
- 开发工具
- 常用元件及操作
- 元件属性
- 固定元件名称
- 可视化元件
- 元件使用说明
- 基本操作元件
- Select单击选中
- Marquee框选多个
- Flow传值或流程
- Remove删除对象
- Note备注标签
- Trigger触发器/输入
- Exit输出
- Error Exit异常输出
- 数据类型元件
- Text字符数据/变量
- Number数字数据/变量
- Date日期数据/变量
- Date and Time时间数据/变量
- Boolean布尔数据/变量
- Binary二进制数据/变量
- Map键值数据/变量
- Data Structure自定义数据结构
- Database Record数据库表/记录
- File文件数据/变量
- Error错误或异常类型的数据
- Anthing任意数据/变量
- Nothing空值
- 常量常数元件
- Text字符/文本常量
- Number数字常量
- Date日期常量
- Date and Time时间常量
- Yes布尔常数是
- No布尔常数否
- 行为处理元件
- Action普通行为处理
- Service服务器行为处理
- Secure Service安全验证服务器处理
- System系统功能逻辑处理
- Callable Service可调用的行为处理
- 集合处理元件
- Appears对象是否出现
- Count计数
- Create生成
- Exclude排除
- Exists是否有值对象
- Find Elements查找对象
- First第一个对象
- Get Numberred Item第N个对象
- Last最后一个对象
- Insert Numberred Item插入第N个
- Remove Numberred Item删除第N个对象值
- Merge合并
- Range区间整数值
- Sort排序
- Unique Items唯一化
- Get Map Entry取键值
- Put Map Entry存键值
- Group组合
- Filter Numbers过滤
- 数据库/记录处理元件
- Insert记录插入
- Update更新
- Delete删除
- Database UpdateSQL处理
- Call Procedure执行处理
- SQL Batch批处理
- Squence Number序列号
- Find查询
- Advanced Find高级查询
- Database Query SQL查询
- Commit执行
- Roll Back回滚
- Get Catalogs获取数据源名称
- Get Schemas获取实例名称
- Get Tables获取库表信息
- Get Columns获取字段信息
- 日期时间元件
- Construct Date生成日期
- Construct Date and Time生成时间
- Earlier是否早于
- Earlier or Equal是否早于等于
- Earliest最早日期时间
- Equal是否同一日期时间
- Format Date and Time日期时间转字符串
- Parse Date and Time字符串生成日期时间
- Get Week周序号
- Later是否晚于
- Later or Equal是否晚于等于
- Latest最晚日期时间
- Now当前时间
- Relative Date相对日期
- Relative Time相对时间
- Split Date日期拆分
- Split Date and Time日期时间拆分
- Time Difference时间间隔
- Today当前日期
- Week Dates某周日期
- 用户端处理元件(显示行为元件)
- Alert提示
- Confirm确认
- Set Unload Confirmation退出确认
- Back上页
- Forward下页
- Focus输入定位
- Go to URL打开地址
- Create Location生成地址
- Prompt for Date日期弹窗
- Close Window关闭窗口
- Delete Elements删除元件
- Refresh刷新
- Log Out退出登录
- Play Sound播放音频
- Print打印
- Reload重新加载
- Show File下载
- Switch View跳转显示
- Get Element Name元件名称
- Get Style Attribute获取样式
- Set Style Attribute设定样式
- Get Event Attribute用户行为
- Add Style Class添加样式类
- Remove Style Class删除样式类
- Get View Parameters地址参数
- Get Cookie取客户端用户数据
- Set Cookie存客户端用户数据
- Store键值存入本地
- Retrieve读取本地键值
- Get Parent父元件
- Get Index显示序号
- Get GeolocationGPS位置
- Show树目录显示
- Background Action后台行为(异步)处理
- Call Java Applet执行Applet
- Click点击
- Fire Event触发事件
- Set Alert Mode是否提示
- Take Picture拍照
- Is Online是否联网在线
- 用户端元件(显示元件)
- Pane显示块
- Row行
- Column列
- Toolbar工具条
- Button Group按钮组
- Button按钮
- Image图片
- Label字符标签
- Form表单
- Text Field字符输入
- Text Area多行字符输入
- Password密码输入
- Number Field数字输入
- Date Field日期输入
- Selection Field下拉选择
- File Field 文件输入
- Check Box勾选
- Radio Button Group圆形单选
- Radio Button圆形按钮
- Text Labeled Field带标签的字符输入
- Number Labeled Field带标签的数字输入
- Date Labeled Field带标签的日期输入
- Selection Labeled Field带标签的下拉选择
- Check Box (With Label)带标签的勾选
- Text Display字符显示
- Number Display数字显示
- Date Display日期显示
- Date and Time Display时间显示
- Link链接
- Group组
- List列表
- Page Dialog页
- Modal Dialog弹窗
- Tabbed Pane分页显示
- Split Pane左右栏
- Simple Table简单表格
- Table表格
- HTML Tag任意标签元件
- HTML Display显示超文本
- HTML Editor富文本编辑器
- 流程处理元件
- Add都满足
- Branch是哪些值
- Branch by Type是哪些类型
- Conditional Flow有条件传值
- 数学元件
- Absolute Number绝对值
- Add相加
- Average平均数
- Compare比较
- Convert Text to Number字符串转数字
- Convert Number to Text数字转字符串
- Decrement减1
- Devide除
- Equal是否相等
- Equal with Tolerance是否差不多
- Greater大于
- Greater or Equal大于等于
- Increment加1
- Is Zero是否为0
- Maximum最大数
- Minimum最小数
- Multiply乘
- Negtive是否小于0
- Negtive or Zero是否小于0或等于0
- Positive是否大于0
- Positive or Zero是否大于0或等于0
- Product积
- Random Number随机数
- Round取小数位
- Smaller小于
- Smaller or Equal小于等于
- Square Root平方根
- Subtract减
- Sum和
- 安全控制元件
- Check Permissions是否有权限
- Get All Permissions全部权限
- Get Logged-in User登录用户ID
- Set Logged-in User授权登录
- Get Session Attributes用户服务器信息
- Encript加密
- Decript解密
- Generate Key生成密钥
- Secure Hash哈希加密值
- 文本/字符串处理元件
- Compute Hash转哈希值
- Concatenate合并
- Equal相同
- Extract取字符串
- Get Position位置
- Is Empty是否空值
- Length长度
- Match结构判定
- Replace替换
- Escape Regex正则表达式字符转义
- Split拆分
- Trim移除空格
- Ends with判断结尾
- Starts with判断开头
- Lower Case转小写
- Upper Case转大写
- Binary to Text转字符串
- Text to Binary转二进制
- Encode URL地址编码
- Decode URL地址解码
- Read Lines读取文本
- HTML Filter过滤
- Escape HTML转字符实体
- Unescape HTML实体转字符串
- Escape Text转格式文本
- Unescape Text转字符串
- Prepare Text Template文本模板
- Create Text from Template生成文本
- 集成功能元件
- Deep Copy深拷贝
- Equal对象是否相等
- Identical是否一致
- Convert转数据结构
- Create from Template模板生成字符串
- Get Deployment Parameters部署参数
- Get Content Type格式处理
- Get Context Element取元件
- Get Element取元件
- Set Element设定值
- Read File文件内容
- Read Binary File文件内容
- Create File URL文件地址
- Read Resource文件内容
- Write Resource生成文件
- Log日志
- HTTP Request HTTP请求
- Get HTTP Headers HTTP头信息
- Get File Atrributes文件信息
- Get Folder Contents文件夹信息
- Run External Command运行其他程序
- Load CSV Table上传CSV数据
- Load Excel Table导入Excel数据
- Notify Error报错信息
- SerialIZE XML转XML文本
- Parse XML生成xml数据可视化对象
- Create JSON生成JSON文本
- Parse JSON Json字符转数据可视化对象
- Parse字符串转数据可视化对象
- Run Javascript运行JS脚本
- Send Email发邮件
- Publish发送信息
- Subscribe订阅信息
- Timer定时处理
- Cancel Timer取消定时处理
- Transform Image图片转置
- Convert Image转图片格式
- Get Image Attibutes图片参数
- Get Image Matadata图片属性
- Generate Barcode条码二维码
- Wait等待
- Get Modal获取模型
- Dynamic Invocation动态调用模型
- Invoke Element Action元件操作
- Get Mail邮件信息
- Delete Mail删除邮件
- Parse CSS样式文件
- ZIP文件打包
- Create OpenDocument from Template生成文件
- Convert Document转文件格式
- Convert to PDF文件转PDF
- Stamp PDF PDF签字
- Concatenate PDF 合并PDF
- Get PDF Attributes PDF属性
- 图表元件
- Pie Chart饼图
- Bar Chart柱图
- Line Chart线图
- 自动测试
- Test Runner测试框架
- Test Suite测试包
- Display Test Case显示类测试块
- Process Test Case逻辑类测试块
- 授权版增加元件
- XIRR定投收益率
- Check Password LDAP单点登录认证
- Authorization用户登录模块
- Log日志系统模块
- Auto-complete Input Field自动完成内容输入
- Tree Display and Management树形目录模块
- Variables系统变量参数管理模块
- LDAP Query目录数据查询
- Export to Excel导出数据到Excel
- Update Excel Table数据插入到Excel
- Update Excel Text更新Excel中的值
- 从需求出发的开发
- 语法基础
- 数据类型与变量
- 判断、循环和函数
- 基于对象的处理
- 浏览器程序
- 表单及用户交互
- 窗体和框架
- 正则表达式
- 日期、时间和计时器
- 错误、调试和处理
- 常见报错信息
- Cookie存储信息
- HTML使用
- XML、Json处理
- Office相关文档处理
- Ajax处理
- 消息发送与接收
- 企业级应用
- 应用安全性
- 前端及样式设计
- 常用样式标签
- 用样式类定义样式
- 默认样式文件说明
- Bootstrap样式说明
- 样式设计中图标使用
- 第三方功能接入
- Echarts数据可视化
- 发送短信息
- Lodop专业打印
- 地图API接入
- API接口使用
- 请求第三方接口
- 为第三方提供接口
- 无代码项目中调用
- 数据及数据库管理
- 数据库表
- 库表字段
- 数据库独立管理
- 软件部署与服务器管理
- 服务器环境搭建
- 项目及服务器运维
- APP生成、小程序应用
- 移动端开发
- 小程序类接入
- 生成安卓应用
- 生成iOS应用
- 问题及技术支持