如何组建和操作LDAP数据库
LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。
LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。
简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。
LDAP是轻量目录访问协议(LightweightDirectory Access Protocol)的缩写,其实是一话号码簿,类似于我们所使用诸如NIS(NetworkInformation Service)、DNS (Domain Name Service)等网络目录,也类似于你在花园中所看到的树木。
LDAP是一种特殊的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。 LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。
11 LDAP的存储规则
区分名(DN,DistinguishedName)
和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别这些枝叶。
在文件系统中, 这些独一无二的属性就是带有完整路径的文件名。比如/etc/passwd,该文件名在该路径下是独一无二的。当然我们可以有/usr/passwd, /opt/passwd,但是根据它们的完整路径,它们仍然是唯一的。
在LDAP中,一个条目的区分名称叫做“dn”或者叫做区分名。在一个目录中这个名称总是唯一的。比如,我的dn是"uid=aghaffar, ou=People, o=developerch"。不可能有相同的dn,但是我们可以有诸如"uid=aghaffar,ou=Administrators, o=developerch"的dn。这同上面文件系统中/etc/passwd 和 /usr/passwd的例子很类似。
我们有独一无二的属性,在"ou=Administrators,o=developerch" 中uid和在"ou=People,o=developerch"中的uid。这并不矛盾。
CN=Common Name 为用户名或服务器名,最长可以到80个字符,可以为中文;
OU=Organization Unit为组织单元,最多可以有四级,每级最长32个字符,可以为中文;
O=Organization 为组织名,可以3—64个字符长
C=Country为国家名,可选,为2个字符长
LDAP目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库用行和列来存取数据有根本的不同)。
mail = testmail@mcccnet
othermailbox = testmailother@mccccom
givenname = givenname
sn = test sn
属性可添加,以下一个属性必须赋值:
objectclass=person (值为:person 或 server 或organization 或 其他自定义的值)
2 PHP(PHP培训php教程 )如何操作LDAP
21 Php如何与LDAP连接和关闭
$ds=ldap_connect("ServerName")
ServerName是LDAP的服务器名,
例:
$ds=ldap_connect(“103117230:1000”)
返回值是:true 或false
关闭连接
ldap_close($ds);
22 在php中如何搜索用户信息
$ds=ldap_connect("103117230:1000");
//首先连接上服务器
$justthese =array("cn","userpassword",”location”);
//搜索函数中的一个参数,要求返回哪些信息,
//以上传回cn,userpassword,location,这些都要求小写
$sr=ldap_search($ds,"o=jite","cn=dom",$justthese);
//第一个参数开启LDAP的代号
JIRA与LDAP集成的工作机制是这样的:
1 用户信息依旧需要在JIRA中进行管理
2 只有密码验证在LDAP中完成
3 在LDAP中不存在的用户依旧可以通过JIRA本身的密码验证机制(OSUser)来进行身份校验
4 并非全部的LDAP用户都具有JIRA访问权限
配置JIRA与LDAP集成的方法是(以JIRA 421为例):
1 进入Admin(管理) -> System(系统) -> LDAP
2 在LDAP Host(LDAP主机)中填入LDAP服务器地址
3 在BaseDN中填入LDAP的根节点名称
4 在Search Attribute中填入LDAP中包含JIRA登录用户名的属性名称
5 保存LDAP的修改
6 进入Admin(管理) -> General Configuration(通用设置)
7 打开External Password Management(外部密码管理)
8 保存退出并重启服务
除了可以利用JIRA现有的LDAP集成机制外,也可以考虑Atlassian Crowd这款独立的单点登录工具,Crowd和JIRA的结合非常好。JIRA的用户可完全在Crowd中进行管理。Crowd支持LDAP,Windows Active Directory等多种目录服务器,应用程序上支持JIRA、Confluence、FishEye、Crucible、GoogleApp、SVN等应用。可实现一个账户访问全部应用,并支持单点登录。
摘要:云计算已经在我们的生活中普遍的应用,而且很多企业都已经在使用云计算了。我们都知道云计算有三种服务类型,软件服务、平台服务、基础架构服务,这是云计算最基本的三种服务类型。除了这三种外还有功能即服务、私有云、混合云、公有API、iPaaS等等服务类型。下面就和小编一起了解一下吧。云计算三种服务类型
1、软件即服务(SoftwareasaService,缩写SaaS)
软件即服务是普通消费者可以感知到的云计算,它的代表有Dropbox,还有国内用户熟悉的百度云、腾讯微云等。这种云计算最大的特征就是消费者并不购买任何实体的产品,而是购买具有与实体产品同等功能的服务。
以前,我们是花钱购买的是服务器上的存储空间。现在,我们花钱购买的是Dropbox的存储服务。表面上看,两者没有实际的区别。但是换一个角度来看,两者却完全不同。以前,我们花钱购买服务器上的存储空间,假设是空间容量是10G,我们是真正的买到了服务器上的10G空间。如果我们不上传文件的话,那么服务器上的这10G空间就是空的。现在,我们购买Dropbox的存储服务,假设空间容量还是10G,我们却并没有真正的买到Dropbox服务器上10G的空间,我们买到的是10G空间的服务。也就是说,如果我们上传文件,Dropbox会将文件分开放在任何地方的任何服务器上,如果我们不上传文件,Dropbox的服务器上就根本没有属于我们的任何空间。
2、平台即服务(PlatformasaService,缩写PaaS)
与软件即服务不同,平台即服务是面向开发者的云计算。这种云计算最大的特征是它自带开发环境,并向开发者提供开发工具包。它的代表有Google的GAE(GoogleAppEngine),还有国内的百度的BAE、新浪的SAE等。
平台即服务与软件即服务之间可以相互转换。如果是消费者,购买Dropbox的服务,那Dropbox就是软件即服务。如果是开发者,利用Dropbox提供的开发包借助Dropbox的服务开发自己的服务,那么Dropbox本身就是平台即服务,构筑在Dropbox之上的开发者的服务就是软件即服务。
以前,开发者如果要搭建一个网站,需要做很多准备工作,比如购买服务器,安装操作系统,搭建开发环境等等。现在,开发者如果购买平台即服务云计算,就可以省去上面费时费力的准备工作,直接进行网站的开发。不仅如此,开发者还可以使用各种现成的服务,比如GAE会向开发者提供Google内部使用的先进的开发工具和领先的大数据技术。这一切都使得网站开发变得比以前轻松很多,这也是云计算时代互联网更加繁荣的原因之一。
3、基础架构即服务(InfrastructureasaService,缩写IaaS)
基础架构即服务一般面向的是企业用户,它的代表有Amazon的AWS(AmazonWebService),还有国内的PPPCloud等。
这种云计算最大的特征在于,它并不像传统的服务器租赁商一样出租具体的服务器实体,它出租的是服务器的计算能力和存储能力。AWS将Amazon计算中心的所有的服务器的计算能力和存储能力整合成一个整体,然后将其划分为一个个虚拟的实例,每一个实例代表着一定的计算能力和存储能力。购买AWS云计算服务的公司就以这些实例就作为计量单位。
基础架构即服务与平台即服务有显著的区别,基础架构即服务提供的只有计算能力和存储能力的服务,平台即服务提供的除了计算能力和存储能力的服务,还提供给开发者的完备的开发工具包和配套的开发环境。也就是说,开发者使用平台即服务时,可以直接开始进行开发工作。而使用基础架构即服务时,则必须先进行如安装操作系统、搭建开发环境等准备工作。
基础架构即服务是云计算的基石,平台即服务和软件即服务构建在它的上面,分别为开发者和消费者提供服务,而它本身则为大数据服务。
云计算其他服务类型
1、FaaS(functionsasaservice,功能即服务)
FaaS,无服务器计算的云实例化,为PaaS增加了另一个抽象层,以便开发人员在堆栈中完全隔绝一切优先级低于他们代码的东西。不是去搞虚拟服务器、容器和应用运行时间,而是上传功能代码块,让它们被某个事件触发(例如表单提交或上传文件)。所有主要云都会在IaaS之上提供FaaSFaaS应用的一个特殊的好处是,在事件发生之前不会使用IaaS资源,可通过降低资源使用率来减少费用。
2、私有云
私有云可以说是小尺寸的IaaS公有云,使软件可以部署和运行在客户的数据中心。与公有云一样,内部客户可以提供自己的虚拟资源,以构建、测试和运行应用程序,通过计量资源消耗进行收费。对于管理员而言,私有云数据中心最好就是自动化,而最差的情况则是手动配置和管理。VMware的软件定义数据中心栈是最受欢迎的商业私有云软件,虽然OpenStack是开源方面的领袖。
3、混合云
混合云是私有云与公有云的集成。混合云涉及创建并行环境,是应用程序可以在私有云和公有云之间轻松移动。在其他情况下,数据库可能待在客户数据中心与公有云应用程序集成——在需求高峰期,虚拟化数据中心的工作负载可能会被复制到云。私有云和公有云之间的集成类型差别很大,但他们必须各自互相适应,以成为一个混合云的模式。
4、公有API(API,应用程序设计接口)
正如SaaS在互联网上为用户交付应用程序,共有API为开发人员提供应用程序功能,可以以编程的方式访问。例如,在构建Web应用时,开发人员经常会利用谷歌地图API提供行车路线;为了集成到社交媒体,开发人员可能会呼吁API通过Twitter或Facebook被保持。Twilio已经建立了一个成功的业务,致力于通过公共API提供电话和消息传递服务。最终,任何企业都可以提供自己的公有API实现客户消费数据和应用程序功能的访问。
5、iPaaS(integrationplatformasaservice,集成平台即服务)
数据集成是任何具备一定规模的公司的一个关键问题,尤其对于那些大规模采用SaaS的企业而言。iPaaS供应商通常提供预先构建的连接器,为流行的SaaS应用程序和本地企业应用程序之间提供共享数据,尽管供应商可能或多或少地关注B2B电子商务集成、云集成或传SOA风格的集成。
6、IDaaS(identityasaservice,身份即服务)
在私有数据中心和公有云网站上,与云计算相关的最大的安全问题就是管理用户身份及其相关权利和权限。IDaaS供应商保持基于云计算的用户配置文件,验证用户身份,并使访问资源或应用程序基于安全策略、用户组和个人的特权。能够集成各种目录服务(ActivedirectoryLDAP等等),而且这是至关重要的。
7、协作平台(Collaborationplatforms)
协作解决方案如Slack、微软Teams和HipChat已经成为重要的信息沟通平台,是组织内部能够有效地沟通和合作。基本上,这些解决方案是相对简单的SaaS应用程序,支持聊天形式的消息传递以及文件共享和音视频交流。大多数提供API来促进与其他系统的集成,使第三方开发者创建和共享插件,增强功能。
8、垂直云(Verticalclouds)
在金融、医疗、零售、生命科学和制造行业提供PaaS云使客户建立垂直应用程序,接近行业特定的、API-accessible服务。垂直云可以减少垂直应用程序投放到市场的时间,加速特定领域的B2B集成。大多数垂直云的构建都带着一些培养生态合作伙伴系统的目的。
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X500标准的,但是简单得多并且可以根据需要定制。
LDAP由互联网工程任务组(IETF)的文档RFC定义,使用了描述语言ASN1定义。最新的版本是版本3,由RFC 4511所定义。例如,一个用语言描述的LDAP的搜索如:“在公司邮件目录中搜索公司位于那什维尔名字中含有“Jessy”的有邮件地址的所有人。请返回他们的全名,电子邮件,头衔和简述。”
扩展资料:
LDAP-开发方式
如果需要开发一种提供公共信息查询的系统一般的设计方法可能是采用基于WEB的数据库设计方式,即前端使用浏览器而后端使用WEB服务器加上关系数据库。后端在Windows的典型实现可能是Windows NT + IIS + Acess数据库或者是SQL SERVER,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能;
-LDAP
-目录访问协议
0条评论