Authentication and Integration 第三篇:Oracle LDAP介绍

原文地址:http://hi.baidu.com/flydragon/item/880161c12d7e107488ad9eff

在Oracle中,LDAP是什么?

LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。 

  怎么使用LDAP这个术语呢? 
  在日常交谈中,你可能会听到有些人这么说:“我们要把那些东西存在LDAP中吗?”,或者“从LDAP数据库中取出那些数据!”,又或者“我们怎么把LDAP和关系型数据库集成在一起?”。严格地说,LDAP根本不是数据库而是用来访问存储在信息目录(也就是LDAP目录)中的信息的协议。更为确切和正式的说法应该是象这样的:“通过使用LDAP,可以在信息目录的正确位置读取(或存储)数据”。但是,也没有必要吹毛求疵,尽管表达得不够准确,我们也都知道对方在说什么。 

  LDAP目录是数据库吗? 
  就象Sybase、Oracle、Informix或Microsoft的数据库管理系统(DBMS)是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但是不是关系型数据库。不象被设计成每分钟需要处理成百上千条数据变化的数据库,例如:在电子商务中经常用到的在线交易处理(OLTP)系统,LDAP主要是优化数据读取的性能。 

  LDAP目录的优势 
  现在该说说LDAP目录到底有些什么优势了。现在LDAP的流行是很多因数共同作用的结果。我在这里说的不过是一些基本的原因,请你注意一下这不过是一小部分原因。 

  可能LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。 

  LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。产商都很愿意在产品中加入对LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎么样的。LDAP服务器可以是任何一个开发源代码或商用的LDAP目录服务器(或者还可能是具有LDAP界面的关系型数据库),因为可以用同样的协议、客户端连接软件包和查询命令与LDAP服务器进行交互。与LDAP不同的是,如果软件产商想在软件产品中集成对DBMS的支持,那么通常都要对每一个数据库服务器单独定制。 

  不象很多商用的关系型数据库,你不必为LDAP的每一个客户端连接或许可协议付费。 

  大多数的LDAP服务器安装起来很简单,也容易维护和优化。 

  LDAP服务器可以用“推”或“拉”的方法复制部分或全部数据,例如:可以把数据“推”到远程的办公室,以增加数据的安全性。复制技术是内置在LDAP服务器中的而且很容易配置。如果要在DBMS中使用相同的复制功能,数据库产商就会要你支付额外的费用,而且也很难管理。 

  LDAP允许你根据需要使用ACI(一般都称为ACL或者访问控制列表)控制对数据读和写的权限。例如,设备管理员可以有权改变员工的工作地点和办公室号码,但是不允许改变记录中其它的域。ACI可以根据谁访问数据、访问什么数据、数据存在什么地方以及其它对数据进行访问控制。因为这些都是由LDAP目录服务器完成的,所以不用担心在客户端的应用程序上是否要进行安全检查。 

  LDAP对于这样存储这样的信息最为有用,也就是数据需要从不同的地点读取,但是不需 
要经常更新。例如,这些信息存储在LDAP目录中是十分有效的: 

  l 公司员工的电话号码簿和组织结构图 

  l 客户的联系信息 

  l 计算机管理需要的信息,包括NIS映射、email假名,等等 

  l 软件包的配置信息 

  l 公用证书和安全密匙 

  什么时候该用LDAP存储数据? 
  大多数的LDAP服务器都为读密集型的操作进行专门的优化。因此,当从LDAP服务器中读取数据的时候会比从专门为OLTP优化的关系型数据库中读取数据快一个数量级。也是因为专门为读的性能进行优化,大多数的LDAP目录服务器并不适合存储需要需要经常改变的数据。例如,用LDAP服务器来存储电话号码是一个很好的选择,但是它不能作为电子商务站点的数据库服务器。 

  如果下面每一个问题的答案都是“是”,那么把数据存在LDAP中就是一个好主意。 

  l 需要在任何平台上都能读取数据吗? 

  l 每一个单独的记录项是不是每一天都只有很少的改变? 

  l 可以把数据存在平面数据库(flat database)而不是关系型数据库中吗?换句话来说,也就是不管什么范式不范式的,把所有东西都存在一个记录中(差不多只要满足第一范式)。 

  最后一个问题可能会唬住一些人,其实用平面数据库去存储一些关系型的数据也是很一般的。例如,一条公司员工的记录就可以包含经理的登录名。用LDAP来存储这类信息是很方便的。一个简单的判断方法:如果可以把保数据存在一张张的卡片里,就可以很容易地把它存在LDAP目录里。

LDAP和单点登录的关系:

ORACLE ebs实现单点登录,通过两种类型的组件:每一种实现了不同的但是相关的功能。

第一种:LDAP(轻量级目录访问协议)directory,比如Oracle Internet Directory。

第二种:单点登录产品,比如Oracle Access Manager  ,这个用来和Oracle EBS AccessGate(这个是单独部署在weblogic服务器上的j2ee应用,我们公司客户就有用这个的)集成。

时间: 2024-08-31 07:30:08

Authentication and Integration 第三篇:Oracle LDAP介绍的相关文章

使用 MyBatis 必看三篇文档导读:MyBatis、MyBatis_Generator 与 MyBatis-Spring

使用 MyBatis 必看三篇文档导读:MyBatis.MyBatis_Generator 与 MyBatis-Spring 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 前一篇<使用

ORA-38760: This database instance failed to turn on flashback database 第三篇

ORA-38760: This database instance failed to turn on flashback database  第三篇   第一篇 第二篇 问题现象:      在数据库alert告警日志中看见如下信息: Completed: ALTER DATABASE MOUNT Wed Nov 19 04:57:28 2014 alter database open Errors in file /DBSoft/diag/rdbms/woo/woo/trace/woo_or

三种Oracle RMAN备份加密策略(上)

  说明:本篇参考eygle老师的作品<Oracle DBA手记4:数据安全警示录>,特此表示感谢.   数据安全,特别是企业核心业务数据的安全问题,是当今全社会共同关注的问题.从前几天轰轰烈烈的携程服务终止,风闻数据库被删除事件,到去年多次发生的互联网公司用户账号密码外泄风波,都不断挑战业界紧绷的神经.在当今社会,数据就是财富已经不是乌托邦,而是彻彻底底的现实.出现过信息泄露安全事故的企业,在商誉和品牌上的损失都是难以评估的.   从信息系统的角度看,备份是我们DBA的命脉,也是我们的&qu

学习动态性能表 第三篇-(1)-v$sql

  学习动态性能表 第三篇-(1)-v$sql  V$SQL中存储具体的SQL语句. 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1).如果有多个cursor(子游标)存在,在V$SQLAREA为所有cursor提供集合信息. 例1: 这里介绍以下child cursor user A: select * from tbl user B: select * from tbl 大家认为这两条语句是不是一样的啊,可能会有很多人会说是一样的,但我告诉你不一定,那为什

ASP.NET自定义控件组件开发 第一章 第三篇

第三篇:第一章的完结篇 相信大家看了前几篇文章后应该觉得自定义控件很简单,无非就是把一大堆的html代码包装一下就行 了.不错,前几篇写的控件确实很简单.不知道大家想过没有,难道我们每次写控件都要大费力气的把一 大堆的html代码写进去吗. 不知道大家试了没有:如果在write.Write()方法中写的html代码有了错误,如果把<table..> 写成了<talbe..>,在编译的时候,编译器是不会发现错误,但是当我们把控件拖上来使用的时候 ,就发现控件的呈现错误.就是说,这样的

12篇学通C#网络编程——第三篇 HTTP应用编程(下)

    第三篇来的好晚啊,上一篇说了如何向服务器推送信息,这一篇我们看看如何"快好准"的从服务器下拉信息.     网络上有很多大资源文件,比如供人下载的zip包,电影(你懂的),那么我们如何快速的进行下载,大家第一反应肯定就是多线程下载, 那么这些东西是如何做的呢?首先我们可以从"QQ的中转站里面拉一个rar下来". 然后用fiddler监视一下,我们会发现一个有趣的现象: 第一:7.62*1024*1024≈7990914  千真万确是此文件 第二:我明明是一个

城市大脑技术厉害了!阿里 iDST 三篇相关论文入选ACM MM

在近日召开的ACM Multimedia 2017会议上,来自阿里巴巴iDST(Institute of Data Science and Technologies)团队的三篇关于"城市大脑"的论文入选其中,三位论文作者受邀赴峰会做报告. ACM MM是全球多媒体领域的顶级会议,属中国计算机学会(CCF)指定的A类国际会议.今年受邀赴美作口头报告的论文作者占比仅为7.5%,ACM MM组委会在邮件中称整个论文评选过程为"艰难激烈的".此次阿里巴巴入选的三篇论文涉及的

第三篇——第二部分——第三文 配置SQL Server镜像——域环境

原文:第三篇--第二部分--第三文 配置SQL Server镜像--域环境 原文出处:http://blog.csdn.net/dba_huangzj/article/details/28904503 本文将演示如何在域环境下部署镜像,在域中部署相对来说简单很多,但是很多企业并不真正使用域来管理服务器(本人所在的公司就是其一),所以有必要演示非域环境,并且重点放在非域环境下.但是作为实践经验和最佳建议,强烈使用域环境管理.非域环境将在第四文中演示:http://blog.csdn.net/dba

第三篇——第二部分——第六文 监控SQL Server镜像

原文:第三篇--第二部分--第六文 监控SQL Server镜像   原文出处:http://blog.csdn.net/dba_huangzj/article/details/26846203   要优化,首先要监控,看看是否有性能问题,如果有,在哪里.才能开始真正的优化,所以本文以监控为入口,在上一篇已经略微提供了一些监控方面的信息 针对监控部分,本文将介绍以下内容: 监控组件 警告阈值 数据库镜像监视器 关于镜像的系统存储过程 性能计数器   1.1. 监控组件: 数据库镜像状态表: 数据