热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ldap用户管理,ldaplinux

什么是LDAP?LDAP的全称是LightweightDirectoryAccessProtocol,轻量目录访问协议。划重点,LDAP是一个协议,约定了Clie


什么是LDAP? LDAP的全名是lightweightdirectoryaccessprotocol,轻量目录访问协会议。


重点是,LDAP 是一个协议约定了客户端与服务器之间的信息交换形式、使用的端口号、认证方式等内容。 另一方面,在LDAP 协议的实现中,Microsoft的Active Directory是LDAP在Windows上的实现,AD是LDAP所需的树数据库,具体是如何解析请求数据,从而实现数据例如,OpenLDAP是在Linux上运行的LDAP协议的开源实现。 我们通常所说的LDAP服务器,一般是指安装和配置了Active Directory、OpenLDAP等程序的服务器。


LDAP协议能解决什么问题? LDAP协议能解决什么问题,必须提到AD。 AD是Windows服务器上最强大的功能,AD是一套基于LDAP协议的解决方案(LDAP服务器APP应用程序),可解决细分权限控制。 核心:谁 以什么权限 访问什么


用户服务


管理用户的域帐户、用户信息、企业通信记录(与电子邮箱系统集成)、用户组管理、用户验证、用户授权管理、组管理策略按需实施等。 在Windows上,您拥有组策略管理器,可以通过启用域用户身份验证来统一管理这些组策略,从而轻松限制用户权限。


计算机管理


管理服务器和客户端计算机上的帐户,让所有服务器和客户端计算机参与域管理,并根据需要实施组策略。 您也可以控制计算机以禁止更改墙纸。 (什么? 在计算机上重新安装系统可以解除限制吗? 将无法访问所有域中的资源。 )


资源管理


管理打印机、文件共享服务、网络资源等并实施组策略。


应用系统的支持


为业务系统(如Exchange、Lync、SharePoint、MicrosoftCRM和ERP )提供数据验证(如身份验证、数据集成和组织规则)。 这里不仅可以集成微软产品,其他业务系统也可以通过通用接口的方式进行同样的嵌入。


为什么要使用LDAP协议? 由于历史原因,LDAP协议诞生于1988年,早于万维网的诞生。 1989年英国科学家tldbmh-一个沉默的小伙加入了网络。 因此,一直到现在。 树型用户目录、树型存储结构和组织管理建模非常直观。 开放的标准化协议得到了广泛的支持。 基于LDAP分解的什么叫轻量?


LDAP协议前面是X.500 DAP协议规范。 该协议非常复杂,是重量级协议,后来对X.500


经过简化,LDAP协议应运而生,与X.500相比重量更轻。 由于X.500 DAP - LDAP,实际上LDAP协议仍然很复杂。


什么叫目录?


目录是指用户目录,用户目录的长度如下所示:


复杂的是:


也有这样的:


目录服务是根据树状存储信息的模式。 目录服务的数据类型主要为字符型,而不是关系数据库提供的整数、浮点数、日期、货币等类型。 为了进行搜索,添加了语法(Syntax ),如sldtd (二进制数据)、CIS (忽略大小写)、CES (对大小写敏感)、TEL (电话类型)等。 也没有提供像关系数据库中一般包含的那样大量的函数。 目录具有强大的查询(读取)功能,适用于检索大量数据; 但是,目录通常只执行简单的更新(写)操作,不支持批量更新所需的事务功能; 主要是面向数据的查询服务,查询和变更操作比通常大于10:1,不提供事务回滚机制; 目录具有广泛的信息复制功能,适用于同步/更新多个目录服务器。


LDAP数据库的信息组织格式目录服务数据库以树形方式存储数据,也是NoSQL。 请注意,这推荐基本的数据存储方式。 使用树数据库存储有更好的好处,因为目录服务的查询远远多于写入。 但是,实际上像MySQL和MongoDB这样的数据库当做 LDAP 数据源LDAP只是协议,约定的是C/S之间的通信方式。 理论上,服务器只要能够处理所有LDAP协议中规定的操作并返回正确的结果即可。


专有名词在上面的用户目录中进行了说明,有很多英语缩写。 其实并不神秘,只是一些单词的缩写。 接下来说明专有名词。 在和LDAP交往的过程中,这些名词一定会频繁遭遇。


DIT(Directory Information Tree)目录信息树


ldapdirectoryserverspresentdata

arranged in tree-like hierarchies in which each entry may have zero or more subordinate entries. This structure is called the Directory Information Tree, or DIT.

LDAP 目录服务器将信息以树形的方式组织,每一项都可以包含 0 个或多个子项。这样的结构叫做目录信息树。
目录信息树可以类比我们的磁盘文件系统目录树,上面的定义是官方定义,理解起来,DIT 就是指像文件系统一样的目录结构树。

Entry 项

在用户目录中,你看到的每一行,都可以叫做一项,不论是叶子节点还是中间的节点。


项包含一个 DN,一些属性,一些对象类。

Root DSE(Root DSA-specific entry)根节点项

每个 LDAP 服务器必须对外暴露一个特殊的,叫做 root DSE,这个项的 DN 是空字符串。这个项是根节点,描述了 LDAP 服务器自身的信息和能力。例如你可以在下图看到 LDAP 服务器支持的功能,LDAP 协议版本等信息。

dn(Distinguished Name)分辨名

dn 如下图白色方框中的内容,分辨名用于唯一标识一个,以及他在目录信息树中的位置。可以和文件系统中文件路径类比。类似于关系型数据库中的主键。dn 字符串从左向右,各组成部分依次向树根靠近。

rdn(Relative Distinguished Name)相对分辨名

Rdn 就是键值对,如下图黄色方框中的内容。dn 由若干个 rdn 组成,以逗号分隔。

dc(Distinguished Name)(域名组成)

将 example.com 这样的域名,拆成 dc=example,dc=com 这样的形式。

o(Organization)组织机构、公司

在 dn 中可能会包含 o=公司 这样的组成部分,这里的 o 指代组织机构。

ou(Organization Unit)组织单元、部门

在 dn 中可能会包含 ou=某某部门 这样的组成部分,这里的 ou 指代组织单元。

Object Classes

每个里面包含若干个 Object Classes,Object Class 指定了本项中必须、可能包含的属性,相当于 MySQL 中的建表语句。包含某个 Object Class 的项,必须满足 Object Class 中约定的规范。如下图,person objectClass 中规定了 cn 和 sn 属性必须存在,在这一项的属性中,你可以看到 cn 和 sn 被加粗显示了。

下图是 person Object class 的定义,规定了拥有此 Object class 的需要拥有的属性:

总结

LDAP 协议是一个历史悠久的协议,诞生时间早于万维网。在当时商业数据库并不发达,而且当时商业数据库的驱动在多语言支持上也不友好——有可能这个数据库在你使用的编程语言上根本没有相关的开发包。LDAP 一直沿用至今,有很多的历史原因,因此许多应用都会支持通过 LDAP 登录。

LDAP 协议的用户目录是树形结构,天然与组织机构契合,而且在查询上速度非常快,比任何其他数据库都要快。
如果你想快速与 LDAP 服务器对接,不妨试一试 Authing 的 LDAP 对接功能。

只要填好 LDAP 服务器的信息,然后点击保存。

还能够方便地测试 LDAP 服务器的连通性和用户登录凭据的合法性。

然后就可以使用 LDAP 进行登录了。

示例应用:https://ldap-test.authing.cn
教程文档:https://docs.authing.cn/authing/authentication/ldap/ldap


推荐阅读
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 本文通过基准测试(Benchmark)对.NET Core环境下Thrift和HTTP客户端的微服务通信性能进行对比分析。基准测试是一种评估系统或组件性能的方法,通过运行一系列标准化的测试来衡量其表现。 ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 蒜头君的倒水问题(矩阵快速幂优化)
    蒜头君将两杯热水分别倒入两个杯子中,每杯水的初始量分别为a毫升和b毫升。为了使水冷却,蒜头君采用了一种特殊的方式,即每次将第一杯中的x%的水倒入第二杯,同时将第二杯中的y%的水倒入第一杯。这种操作会重复进行k次,最终求出两杯水中各自的水量。 ... [详细]
  • 本文介绍了如何在 Spring Boot 项目中使用 spring-boot-starter-quartz 组件实现定时任务,并将 cron 表达式存储在数据库中,以便动态调整任务执行频率。 ... [详细]
  • 本文介绍 DB2 中的基本概念,重点解释事务单元(UOW)和事务的概念。事务单元是指作为单个原子操作执行的一个或多个 SQL 查询。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 本文介绍了如何在 ASP.NET 中设置 Excel 单元格格式为文本,获取多个单元格区域并作为表头,以及进行单元格合并、赋值、格式设置等操作。 ... [详细]
  • 使用多项式拟合分析淘宝双11销售趋势
    根据天猫官方数据,2019年双11成交额达到2684亿元,再次刷新历史记录。本文通过多项式拟合方法,分析并预测未来几年的销售趋势。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
author-avatar
顽石1129_659
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有