LDAP和RG-SAM之间数据互导

  • 格式:doc
  • 大小:432.50 KB
  • 文档页数:13

LDAP和RG-SAM之间数据互导1.1 前言本文中LDAP和RG-SAM数据库之间数据的互导,仅涉及用户ID,用户姓名,性别,固定电话,移动电话,地址,邮编等用户基本信息的互导,下面将介绍以OpenLDAP作为LDAP服务器, SQL SERVER作为RG-SAM数据库时,如何实现数据互导.1.1.1软件需求1)windows平台2)OpenLDAP V2.1.29,.其安装和启动方法及详细的使用说明可以参考的文档.本文不作详细介绍.3)MS SQL SERVER 20004)Novell Import Conversion Export Utility,在本文中简称为ice5)RG-SAM V2.1.1.2 将RG-SAM的数据导入LDAP中1.2.1利用SQL SERVER生成数据文件.1.打开企业管理器,在SAMDB(假定这是RG-SAM的数据库,本文后面提到的SAMDB都表示是RG-SAM的数据库)上点击右键,选择”所有任务 导出数据”,如图1所示图1 2.选择后出现对话框如图2所示:图23.点击”下一步”,按照图3所示进行设置.其中服务器设置为SAMDB使用的服务器,用户名和密码是SAMDB使用的用户名,密码.数据库选择SAMDB.图34.点击”下一步”,按照图4所示进行设置.文件名为存放导出数据的目的文件,这里命名为samdata.txt图45.点击”下一步”,按照图5所示:进行设置图56.点击”下一步”,按照图6所示:进行设置.在这一步中设置用来生成导出数据的SQL语句,图中的SQL语句的目的是将所有用户的USERID,用户姓名,性别,邮编,地址,固定电话,移动电话,电子邮件导出.实际应用中需要根据实际情况设置合适的SQL语句,例如,可能只需要导出用户状态为在正常的用户的信息,则需要在最后面增加WHERE字句:”WHERE ACCTSTA TE=2”.或者可能需要分别导出某一批用户,例如说按照用户组导出,或者需要增加导出的信息,例如导出证件号码等.图6 7.点击”下一步”,按照如图7所示进行设置:图78.点击”下一步”,按照图8所示进行设置:图89.点击”下一步”,然后点击”完成”,开始数据导出.导出完成后,在c:\samdata.txt 中就是导出的数据,在本例中如图9所示:图91.2.2 在LDAP 中建立树型结构假如你的LDAP 中的树型结构还没有定义好,你可能需要先定义一个树型结构,使得对数据的管理更加清晰.下面将介绍如何建立一个简单的树型组织.目的是建立一个以系为单位对学生进行管理的组织结构,如图10所示.你可以按照本方法建立自己需要的树型结构.图101.2.2.1 建立LDAP数据库在安装好openldap后,使用文本编辑器编辑安装目录下的slapd.conf文件.将原来的suffix和rootdn 修改为suffix "dc=universityname,dc=com"rootdn "cn=root,dc=universityname,dc=com"在下面的语句后面添加如下语句:ucdata-path F:/openldap/ucdatainclude F:/openldap/etc/schema/core.schemainclude F:/openldap/etc/schema/corba.schemainclude F:/openldap/etc/schema/cosine.schemainclude F:/openldap/etc/schema/inetorgperson.schemainclude F:/openldap/etc/schema/misc.schemainclude F:/openldap/etc/schema/openldap.schemainclude F:/openldap/etc/schema/nis.schema说明:黑体部分为新加部分F:/openldap为openldap的安装目录然后可以在CMD窗口openldap安装目录下用slapd命令启动LDAP数据库.1.2.2.2 创建树型结构的LDIF文件使用文本编辑器编辑一个文本文件,命名为structure.ldif,内容如下:dn: dc=universityname,dc=comobjectClass: dcObjectobjectClass: organizationdc: universitynameo: dn: ou=computersicense,dc=universityname,dc=comobjectClass: organizationalUnitobjectClass: topou: computersicensedn: ou=math,dc=universityname,dc=comobjectClass: organizationalUnitobjectClass: topou: math1.2.2.3 使用ice工具创建树型结构在CMD窗口下进入ice工具的安装目录(在本文后面章节在执行ice工具的命令时,都将假定你已经处于CMD窗口ice工具的安装目录),执行下面的命令:ldapadd -c -D "cn=root, dc=universityname, dc=com" -W -v -f c:\structure.ldif说明:1.“cn=root,dc=universityname,dc=com”要和slapd.conf中的rootdn后面的值保持一致2.-f c:\ structure. ldif指向1.2.2.2中创建的ldif文件.回车后会提示” Enter LDAP Password:”,密码就是openldap安装目录下, slapd.conf文件中rootpw 后面的字符串.(在以后的章节将对密码输入不做介绍,实际操作中遇到本提示时,输入密码,然后回车即可)在最后见到如下字样后表示创建成功adding new entry "ou=math,dc=universityname,dc=com"modify complete1.2.3利用ice工具将txt文件中的数据导入LDAP1.2.3.1 制作合法的数据导入文件从SQL SERVER中导出的数据文件不能直接用来进行导入工作,需要进行一系列的处理.具体步骤如下.1.使用Excel打开前面从SQL SERVER中导出的samdata.txt.在excel中点击”打开”,选择samdata.txt文件后,按照图11所示:进行设置.图11 2.点击”下一步”,按照图12所示进行设置图12 3.点击”下一步””,按照图13所示进行设置图134点击”完成”即完成文本导入.如图14所示:图145.在列A前插入一列,然后在新加列第一行的单元格的插入公式为: CONCATENATE("uid=",B1,",ou=math,dc=universityname,dc=com"),并且将该公式应用到整个新加列中,结果如图15所示:图156.选择”另存为",选择文件类型为”文本文件(制表符分隔)(*.txt)”,这里另存为samdata2.txt7.使用UltraEdit打开samdata2.txt.选择”文件-→转换→ASCII转UTF-8(Unicode编辑)”,然后保存.到此,全部的处理过程完成.1.2.3.2 使用ice将数据导入LDAP中执行如下的ice命令将前面生成的samdata2.txt中的数据导入LDAP中.ice -C -n -S DELIM -f c:\samdata2.txt -d[t] -t dn,uid,sn,cn,postalCode,postalAddress,telephoneNumber,mobile,mail -D LDAP -d "cn=root,dc=universityname,dc=com" -w secret说明:3.-f c:\samdata2.txt指向存放导入数据的文件.4.“cn=root,dc=universityname,dc=com”要和slapd.conf中的rootdn后面的值保持一致5.-w secret 表示LDAP的密码,需要用实际的密码代替secret.密码为slapd.conf中rootpw后面的值.1.3 将LDAP中的数据导入RG-SAM1.3.1将LDAP中的数据导出成带分隔符的文本文件我们这里导出的数据为1.2中导入的数据,是math节点下的所有学生,使用ice工具执行下列命令; ice -S LDAP -d "cn=root,dc=universityname,dc=com" -w secret -F (objectClass=*) -b "ou=math,dc=universityname,dc=com" -D DELIM -f c:\samdata3.txt –d[t] -t uid,cn,sn,postalCode,postalAddress,telephoneNumber,mobile,mail说明:1.“cn=root,dc=universityname,dc=com”要和slapd.conf中的rootdn后面的值保持一致2.-w secret 表示LDAP的密码,需要用实际的密码代替secret.密码为slapd.conf中rootpw后面的值.3.–b "ou=math,dc=universityname,dc=com" 指定了你需要导出数据的子树,例子中表明导出节点"ou=math,dc=universityname,dc=com"下的所有数据.4.-f c:\samdata3.txt指定了存放导出数据的文件.samdata3.txt中就是导出的带分隔符的数据文件.如图17所示,和前面用来导入的数据是一样的.图171.3.2处理生成的文本文件刚生成的文本文件需要进行简单处理,才能用来导入SAM数据库.1.构造出符合RG-SAM用户导入功能文件格式的文本(格式说明主要是第一行必须是列名,具体的说明见RG-SAM的说明书),图17所示的文本经过处理后如图18所示:图18注意:列名之间要用TAB分隔.列名后面不要留多余的TAB.2.用UltraEdit打开samdata3.txt,选择”文件→转换→UTF8转ASCII”,然后保存.1.3.3使用用户导入功能导入RG-SAM数据库下面仅针对本例进行用户导入功能的介绍,具体详细使用情况请参考RG-SAM V2.1操作手册.1.选择批量导入文件为1.3.2中处理后的文件samdata3.txt.如图19所示:图192.点击”下一步”,按照图20所示进行设置图203.点击”添加”即完成数据导入.1.4 参考资料1.ICE下载地址/ndk/cldap.htm,下载下来的文件名是novell-cldap-devel-2005.03.29-1netware_windows.zip,解压后,ICE就在${解压目录}/win32/tools下面.2./rfcs/rfc2251.html LDAP的RFC文档3./doc/admin22/ OPENLADP的管理员手册。