Borland CaliberRM/StarTeam 2005使用LDAP实现统一用户认证(一)

作者:郝建材

1 目录服务与LDAP

目录服务是一种特殊的数据库,是为读取、浏览和搜索而优化过的。目录的内容包含有描述、基于属性的信息并支持精确的查询过滤功能。一般的数 据库管理系统是为了大量复杂的数据更新而设计的,具有复杂事务处理的能力。但目录服务不支持在一般数据库管理系统中经常涉及的复杂的事务操作和回滚操作, 目录的更新一般是简单的,全部更新或者完全不更新。目录服务的目标是提供对大量查询操作的快速相应,为了能够做到这一点,目录服务可能会将目录信息广泛地 进行复制,以提高服务的可获得性和可靠性,减少响应时间。

提供目录服务有多种方式,不同的方法会在目录中保存不同的信息,引用、查询、更新信息以及防止非法访问的方式也不尽相同。一些目录服务是 本地的,仅仅提供指定范围的访问(如一台计算机上的服务定位);也有全局的目录服务,提供更为宽泛的范围(如整个Internet)。全局的服务通常是分 布式的,这意味着目录数据分布在多台计算机上,所有的这些计算机协同起来提供目录服务。全局目录服务会定义一个统一的命名空间,这样无论你是如何使用这些 数据,都会看到统一的目录数据。DNS就是全局分布式目录服务的一个典型例子。

 

LDAP是Lightweight Directory Access Protocal(轻量级目录访问协议)的缩写。LDAP是由Internet工程任务组(IETF)建立的业内标准协议,它基于X.500系列协议。 LDAP基于TCP/IP或其他面向连接的传输服务。

 

LDAP信息模型是基于实体(Entity)的。一个实体是一组属性的集合并具有一个唯一的名称(Distinguished Name-简称DN)。DN用于唯一标识实体。每个实体的属性有一个类型和一个或多个值组成,类型就是标记字符串,如“CN”表示common name,“mail”表示Email地址;值的语法取决于属性类型。值可以是字符串、格式文本或二进制块。

 

LDAP中目录实体按树状排列进行组织。通常这种树状结构反映了地理的和或组织的划分,如表示国家的实体作为树的上层节点,在之下是表示 省、市、公司等的实体,再下面直到表示内部的组织单元如部门、小组、人员、打印机、文档等。这颗树结构也可以按Internet域名层次排列,这样就可以 使用DNS来定位目录服务。

 

LDAP能够控制实体中哪些属性是必要的和允许的,这种控制是通过属性objectClass来实现的,objectClass的值决定了实体必须遵循的模型规则。

 

在引用目录信息的时候,一个实体通过其DN进行引用,DN由实体的相对唯一名称Ralative Distinguished Name(RDN)和它祖先实体RDN的组合串构成,如:CN=guest,CN=Users,DC=server,DC=cybersoftek,DC =com。

LDAP定义了查询和更新目录的操作,可以添加、删除、更新一个实体,改变实体的名称。LDAP大多数时候用于目录信息的查询。查询操作允许仅搜索目录的某一部分,搜索哪个部分由搜索过滤器(filter)设置。

 

LDAP提供一种保护机制来对客户进行认证,控制对目录数据信息的访问。LDAP也支持数据安全性(数据完整性和可信性)方面的服务。

 

2. Borland CaliberRM/StarTeam与LDAP集成

随着信息化的发展,企业里的业务和人员越来越依赖于分布式的应用系统和网络化的计算机系统。许多系统都有自己控制的用户信息,用户在使用这 些众多的应用系统的时候,不得不在每个系统中进行用户的建立和注册。这样产生了很多问题:1)一个用户会有多个用户注册信息,用户自己使用这些应用系统的 时候要牢记在哪个系统中使用的是哪个用户名,密码又是什么,对用户来讲带来很多麻烦;2)许多企业为保护商业秘密起见,要求每个用户定期更新自己的密码, 那么众多的应用系统造成的众多用户注册信息需要维护这些信息,对用户来讲,还有记录每个时期自己的每个应用系统的密码改成了什么;3)系统管理工作繁重, 每个系统都需要系统管理员进行这些信息的维护,无疑增加了维护的成本。

LDAP是解决这一问题的方法。将用户认证信息保存在LDAP目录服务器,各应用系统的登录认证都通过LDAP目录服务器,这样就做到了对用户信息的集中管理和控制。而现如今,正在有越来越多的应用系统支持LDAP。

 

以Borland CaliberRM/StarTeam为例,介绍应用系统通过配置LDAP服务实现集中用户控制的方法。这里用Windows2003的域用户来集中控制CaliberRM和StarTeam的用户登录。

2.1 CaliberRM 2005与LDAP

这里LDAP服务器使用Windows 2003 server的Active Directory目录服务提供的LDAP服务。Active Directory是微软的Windows服务器操作系统用来存储有关网络上的对象信息,使管理员和用户更方便地查找和使用这些信息,如服务器、卷、打印 机、网络用户和计算机帐户。通过登录验证以及目录中的对象控制,Windows将安全性集成到Active Directory中。通过一次网络登录,管理员可以管理整个网络中的目录数据和单位,而且获得授权的网络用户可访问网络上任何地方的资源。Active Directory提供通过LDAP的访问。

 

CaliberRM集成LDAP原理

CaliberRM与LDAP服务器的通信有两个机会:

一是CaliberRM服务启动的时候,验证是否能够连接到LDAP服务器,如果不能连接,将禁止目录服务方式登录,并继续启动服务,就跟没有启用目录服务登录一样。

二是在用户登录的时候,如果目录服务登录方式已经启用,则:

  CaliberRM首先确认输入的用户名是否合法的CaliberRM用户标识,如果是则从CaliberRM读取LDAP的DN信息;

  如果CaliberRM数据库中没有项目LDAP DN信息,则将从LDAP服务器搜索相应的DN(即输入的用户名),搜索的时候使用设置的rootDN和过滤器;

  如果LDAP中找不到DN,则登录失败,如果找到,则用LDAP服务器上的DN存入CaliberRM数据库;

  如果CaliberRM已经成功读取了DN,则使用这个DN和输入的密码对LDAP服务器进行绑定,绑定成功则登录成功,否则失败。

 

步骤:

1)设置Active Directory服务:

找一台Windows2003 Server 域服务器,最好安装上Windows2003的支持工具,这些工具位于windows2003安装光盘的/support/tools目录下。我们将使用 其中的LDP工具,LDP可以用来对Active Directory以GUI方式执行LDAP操作,我们可以使用它来查看我们需要的DN,当然,如果对LDAP和Active Directory很熟悉,也可以不用这个工具。安装支持工具后,在命令行运行ldp,打开LDAP操作界面,从菜单点击“连接”:

输入windows2003 server的IP地址,端口号输入389(非SSL传输),点击OK,再从菜单选择Bind,进行绑定,输入绑定的用户名、密码,这里就使用 windows域的能够登录的用户名密码即可。绑定之后,就可以查看Active Directory里的LDAP实体了。查看的时候,从菜单View,选择Tree View,输入显示的根实体BaseDN:比如输入"DC=server,DC=cybersoftek,DC=com",就可查看整个域服务器的所有实 体,而输入"CN=Users,DC=server,DC=cybersoftek,DC=com"则可查看域服务器的所有用户实体。

3)设置CaliberRM Server启动目录服务

从CaliberRM服务器上,进入控制面板,点击CaliberRM Server,打开CaliberRM服务设置,点击Directory Services选项卡,按如下进行设置:

选中“Enabled”;

BaseDN:为在Active Directory上搜索的根实体节点,我们这里设置为"CN=Users,DC=server,DC=cybersoftek,DC=com"表示从域服务器的所有用户开始搜索。

Host:为Active Directory主机名,或者IP;

Filter:为搜索时使用的过滤器,这里设置为:(&(objectCategory=person)(objectClass=user)(sAMAccountName=%s))

SSL:不选,如果选择,则后面的Port应设置为636;

Port:LDAP端口号默认为389;

Windows Authentication:为进行LDAP搜索时,使用的用户认证,这里设置为:

bindDN:CN=haojc,CN=Users,DC=server,DC=cybersoftek,DC=com

BindPW:*****

3)设置CaliberRM用户

需要注意的是,如果CaliberRM系统中还没有LDAP登录所使用的用户,则需要在CaliberRM中建立这个用户,并给这个用户设 置组和分配license使用权限。LDAP登录使用的是LDAP上的用户基本信息和绑定方法,而用户在CaliberRM中的身份、权限还要靠 CaliberRM用户管理进行设置。但LDAP登录的时候,用户在CaliberRM系统中的密码已经再有效,起作用的密码是用来绑定LDAP服务的那 个密码。

CaliberRM和StarTeam提供有一个LDAP Quick Manager的工具,可以用来将LDAP中的用户实体导入到CaliberRM中,如果LDAP用户很多的情况下,可以使用此工具一次将所有用户导入CaliberRM。

4)重新启动CaliberRM服务:dbmgr -stop;dbmgr -start

5)用Windows2003的域用户登录CaliberRM,成功。此时,除了管理员admin之外,CaliberRM中的其他用户密码登录都是无效的。

2.2 StarTeam 2005与LDAP

StarTeam与LDAP的集成相比CaliberRM,略有不同。一是CaliberRM server目录服务设置在控制面板里,而StarTeam在服务器Server administration工具里面设置;二是启用目录服务方式后,所有CaliberRM用户都将使用绑定LDAP服务的方式进行登录认证, CaliberRM系统中的用户、密码将不再有效,而StarTeam在启用LDAP方式后,还可以对每个用户分别设置使用那种登录方式。

1)启用目录服务登录

打开StarTeam Server administration;

进入Configure Server,选择Directory Service选项卡,在此窗口:

  选中Enable Directory Service Support;

  输入Host:192.168.1.206(LDAP服务器的IP或主机名);

  输入Port:非SSL方式使用389;

重新启动StarTeam服务器;

2)设置用户的登录方式

打开StarTeam Server administration;

进入User Manager,选中要设置的用户名,如haojc,从菜单User->Properties打开用户属性窗口,选择Logon选项卡,选中 Validate Through Directory Service,并输入此用户对应的DN,如:CN=haojc,CN=Users,DC=server,DC=cybersoftek,DC=com

 

这样下次使用haojc登录的时候,系统将使用LDAP上的DN haojc进行绑定验证。

3)使用LDAP用户登录。

 

这样,经过设置,CaliberRM和StarTeam都可以使用Active Directory上的域用户名进行登录了。系统管理员只需要维护一套用户名密码,周期性修改密码时,也不用每个系统都去维护,实现了用户登录验证的集中管理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值