用LDAP开发用户管理.doc_第1页
用LDAP开发用户管理.doc_第2页
用LDAP开发用户管理.doc_第3页
用LDAP开发用户管理.doc_第4页
用LDAP开发用户管理.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

开发用户管理采用LDAP开发“用户管理”一、 总述-用户管理应用与开发 现在基于目录服务的各种网上应用越来越多。这些应用离不开一个重要协议的支持,这就是LDAP(Lightweight Directory Access Protocol)轻量级目录访问协议。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:人员信息、电子邮件地址、人力资源数据、联系人列表,等等。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤。就象Sybase、Oracle的数据库管理系统(DBMS)是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但不是关系型数据库。基于LDAP服务进行用户管理,具有管理清晰、方便、容量大的特点。在用户管理上,采用LDAP优于使用数据库主要在于:1、 用户管理中的数据多为用户注册的一些基本信息,比较简单,而字段可能很多,在LDAP中增加、修改一个attribute相对于在表中增加、修改字段要简单很多;2、 对用户管理而言,一旦信息录入以后,需要经常检索,而频繁地从数据库中遍历数据无疑对系统的性能会造成影响。而LDAP的检索功能非常强大,因为它就是专门为那些检索频率多于更新频率的数据服务而设计的;3、 当存在用户分组问题时,使用数据库只有通过另建表的方式,在表之间建立关联,这在操作时很不方便。而LDAP的树状结构可以在任一节点建立组,层次关系也很清楚,对于体现复杂结构有着很强的优势;4、 在权限控制上,LDAP允许你根据需要使用ACI(访问控制列表)控制对数据读和写的权限。例如,管理员可以改变所有员工的资料,而普通用户只能改变自己的资料,也可以赋予特定人员特定的权限。在民航系统中,我们就利用它来实现管理员权限的定义,赋予公司管理员很大的权限。当然LDAP的优势有很多,这里仅仅是其中的一小部分。目前,几乎所有的MIS系统都会用到基于用户的管理,说到用户管理的开发,如果用户量相对比较少,且人员层次关系不算复杂时用数据库开发或用文件系统开发,所出现的问题不明显,但如果出现用户量比较多,用户层次级别要求比较高,比如以消防总队人员和机构设置为例,总队下有司令部、政治部、后勤部等的领导及办事人员,司令部下有各处室领导及办事人员,总队下还有各支队,支队下又会分很多部门,这样用户很多而且层次结构要求特别高的情况下,用数据库开发用户管理就相对比较困难,因为数据库表结构没有层次结构,只有通过很多关联表相连,这样搜索某个用户速度会很慢,且容易出错。采用文件系统开发不仅会出现数据库所遇到的问题,而且安全性则得不到保证。而运用Directory Server 运用应用程序开发用户管理,以上所碰问题即可解决。二、开发用户管理新途径-Directory Server Iplanet Directory Server 为管理大量用户信息的企业,提供用户管理基础服务,保存各种灵活的个性化用户概况和优先选择需要,适应外联网用户的验证需要。Directory Server的一些应用离不开一个重要协议的支持,这就是LDAP(Lightweight Directory Access Protocol)轻量级目录访问协议。通过LDAP目录服务器为应用访问专用数据提供了统一、标准的方法。三、采用LDAP 开发用户管理的优势在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:人员信息、电子邮件地址、人力资源数据、联系人列表,等等。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤。就象Sybase、Oracle的数据库管理系统(DBMS)是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但不是关系型数据库。基于LDAP服务进行用户管理,具有管理清晰、方便、容量大的特点,支持在单个服务器上有数百万户的能力。在用户管理上,采用LDAP优于使用数据库主要在于:1、用户管理中的数据多为用户注册的一些基本信息,比较简单,而字段可能很多,在LDAP中增加、修改一个attribute相对于在表中增加、修改字段要简单很多;2、用户管理而言,一旦信息录入以后,需要经常检索,而频繁地从数据库中遍历数据无疑对系统的性能会造成影响。而LDAP的检索功能非常强大,因为它就是专门为那些检索频率多于更新频率的数据服务而设计的;3、当存在用户分组问题时,使用数据库只有通过另建表的方式,在表之间建立关联,这在操作时很不方便。而LDAP的树状结构可以在任一节点建立组,层次关系也很清楚,对于体现复杂结构有着很强的优势;在权限控制上,LDAP允许你根据需要使用ACI(访问控制列表)控制对数据读和写的权限。例如,管理员可以改变所有员工的资料,而普通用户只能改变自己的资料,也可以赋予特定人员特定的权限。 在管理上,通过目录服务器,应用可以直接在目录中存储和查询配置信息,而不是从用户的客户机内读取,做到完全应用位置的独立性。当然LDAP的优势有很多,这里仅仅是其中的一小部分。四、运用LDAP 开发用户管理的层次结构运用JAVA(servlet)程序或运行在计算机平台应用程序针对Directory Server进行用户的添加删除和修改,其分级用户要求很高的用户则可以很发便的开发,其主要结构是先建一个TOP (organize unit 简OU),再在该TOP 下建子公司或机构或人员也可同时建子公司的管理员。-以公司和分公司为例Top(总公司)系统管理员 总公司成员分公司(2)分公司(1)。分公司(1)机构分公司(1)成员分公司(1)管理员。如上图所示,系统管理员可建立总公司的成员和任意建其下属分公司机构、分公司成员。此时如需要系统管理员可对分公司加入管理员,分公司管理员只对负责本公司的人员维护,他上级用户他无权管理。五、运用LDAP验证服务用户管理和权限管理可以进行无缝的结合。何为“权限管理”?也就是当我们利用IE浏览器访问某个页面或处理某项业务的时候,需要通过权限认证确认有无操作此页面的权限,此时可以用Director Server 来开发“权限管理”。权限管理具体设置思路也就是在开发过程中, 事先在要访问的页面中,放入所要的权限ID,然后把这些ID用浏览器方式通过servlet(或通过应用程序)加入到LDAP中,然后赋予用户权限。用户打开相应页面时首先通过权限认证确认进入下一步。 LDAP组的概念应用,在设置权限管理时,我们象ORACLE 数据库那样也设置了“角色”,何为“角色”?也就是一个人的权限会很多时,其中有一些权限为大多数人使用,我们就可以把这些共用的权限设置为一个权限组这里称这个权限组为“角色”,然后把某一个“角色”赋予某个人,他就会有“角色”中的所有权限。其示意图为:LDAP (目录服务)Web Server 用户 1登录 2验证有无权限6结果5 返回结果4有权限无权限3返回数据库六、高性能的服务Director Server每部服务器每秒钟管理数以百万计的目录项和处理数千个查询。可支持有选择的目录项复制,支持联式复制(当服务器A复制于服务器B时、服务器B复制于服务器C)。七、Director server 支持SNMP标准MIB邮件Director server和Mail Server紧密结合,其添加在Mail用户和Director server中添加的用户进行统一。八、运用应用程序开发LDAP中参数说明:DN:在LDAP目录中的所有记录项都有一个唯一的“Distinguished Name”(DN),它是LDAP记录项的名字。每一个LDAP记录项的DN是由两个部分组成的:相对DN(RDN)和记录在LDAP目录中的位置。例如:dn=“uid=1001,ou=rygl,o= ” ; 表示在o= 下的一个记录或接点。其中 O=就是所谓的“基准DN”,这里以DNS的域名()为基础。“ou” (“Organization Unit”) 表示是一个组织。“uid”则表示o= 下ou=rygl 下的一个用户的唯一ID。“cn”(Common Name)表示组。 Attribute 是每一组织或用户的属性。比如人的“姓名”就是Attribute。ACI,即访问控制列表,用于控制对数据操作的权限。在如下示意图中总队管理员可以添加支队的管理员或总队下处室的管理员。下面以“安徽消防总队”用户设置为例来解释LDAP中的参数:(o=) 支队管理员防火监督部政治部后勤部司令部dn=“ou =slb ,ou=xf,o=”安徽消防总队dn=“ou=xf,o=”系统管理员 dn=“uid=ahxflogin ,ou=xf,o=” 各支队 。司令部处室 。系统管理员dn=“uid=ahxflogin ,ou=xf,o=”九、已开发投入使用“安徽消防总队网上办公信息系统”用户管理 其开发环境: 1应用程序开发: JAVA JSP/SERVLET 、XML 2. JDK 1.3.1 or higher 3. DNS Server 4Web Server: Iplanet Web Server 或 Apache Web Server 5. Directory Server4.1 十、程序举例:快速搜索一个部门DN 的JAVA Servlet 原代码 import java.io.*;import java.util.*;import java.lang.*;import java.text.*;import javax.servlet.*;import javax.servlet.http.*;import javax.naming.*;import javax.naming.directory.*;public class Addzd extends HttpServlet public void service (HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException super.service (request, response); public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost (request,response); public void doPost (HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter();String SEARCHBASE=”o=”; / DNS 域名Search searchDN = new Search(); String theUpDn=; NamingEnumeration results; try results = searchDN.getDN(ou=+部门id+),SEARCHBASE); if (results !=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论