一种用户认证的迁移方法、装置、设备及存储介质与流程

文档序号:26912255发布日期:2021-10-09 15:22阅读:94来源:国知局
一种用户认证的迁移方法、装置、设备及存储介质与流程

1.本发明实施例涉及互联网技术领域,尤其涉及一种用户认证的迁移方法、装置、设备及存储介质。


背景技术:

2.随着互联网规模的不断扩大,网络业务量也不断增长;通过将多台服务器进行连接以形成集群,进而共同承担网络业务,对满足日益增长的业务需求具有重要意义。
3.不同的集群通常采用不同的用户认证方式,且在不同时间段内,同一集群采用的用户认证方式也可能发生变化。当某一集群的认证方式发生变化时,需要将原始认证系统的用户认证数据迁移至当前认证系统(即目标认证系统),以确保用户可以使用原始账号和密码继续访问当前集群;或者,两个集群需要同步用户认证数据时,第一集群采用原始认证系统,第二集群采用目标认证系统,需要将用户认证数据从原始认证系统迁移至目标认证系统,使用户可以使用原始的用户信息访问第二集群。
4.发明人在实现本发明的过程中,发现:现有的用户认证数据迁移方式,通常是将用户认证数据从原始认证系统中导出,并将用户认证数据逐个添加至当前认证系统,工作量大,且效率低下,严重浪费时间成本,同时无法保留用户认证数据的标识数据,无法实现用户认证的无缝迁移。


技术实现要素:

5.本发明实施例提供了一种用户认证的迁移方法、装置、设备及存储介质,可以实现不同认证系统间的用户认证数据的迁移,可以避免用户认证数据迁移错误,可以提高数据迁移效率。
6.第一方面,本发明实施例提供了一种用户认证的迁移方法,包括:
7.在原始认证系统中提取用户认证文件,并在所述用户认证文件中提取用户认证数据,作为目标用户认证数据;
8.若目标认证系统中不存在与所述目标用户认证数据重复的数据,将所述目标用户认证数据导入至所述目标认证系统;
9.若所述目标认证系统中存在与所述目标用户认证数据重复的数据,删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中。
10.可选的,若所述目标认证系统中存在与所述目标用户认证数据重复的数据,提示删除重复数据,包括:
11.若所述目标认证系统中存在与所述目标用户认证数据中的目标用户标识数据重复的用户标识数据,提示删除重复的用户标识数据;所述目标用户标识数据包括用户身份标识信息和/或用户名称信息。
12.可选的,若所述目标认证系统中存在与所述目标用户认证数据重复的数据,将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中,包括:
13.若所述目标认证系统中存在与所述目标用户认证数据中的目标用户组标识数据重复的用户组标识数据,将所述目标用户认证数据中重复的用户组标识数据以及对应的用户标识数据写入到预设文件中;其中,目标用户组标识数据包括用户组标识信息和/或用户组名称信息。
14.可选的,所述将所述目标用户认证数据中重复的用户组标识数据以及对应的用户标识数据写入到预设文件中,包括:
15.获取所述目标用户认证数据中重复的用户组标识数据对应的问题码信息;其中,所述问题码信息包括用户组标识数据重复的原因;
16.将所述目标用户认证数据中重复的用户组标识数据、对应的用户标识数据以及所述问题码信息写入到预设文件中。
17.可选的,若所述用户认证文件的文件格式为轻量级目录交换格式,所述将所述目标用户认证数据导入至目标认证系统,包括:
18.判断所述目标用户认证数据中的每条数据在原始认证系统的域名路径与在所述目标认证系统中的预设域名路径是否一致;
19.若否,则采用预设域名路径更新所述目标用户认证数据中每条数据的域名路径;
20.判断所述目标用户认证数据中的每条数据在原始认证系统的目标组织单元路径是否存在于目标认证系统中;
21.若否,则在所述目标认证系统中创建所述目标组织单元路径;
22.若接收到导入指令,将所述目标用户认证数据中的每条数据基于所述预设域名路径和所述目标组织单元路径进行存储。
23.可选的,若所述用户认证文件的文件格式为纯文本文件格式和/或电子表格格式,所述将所述目标用户认证数据导入至目标认证系统,包括:
24.获取所述目标用户认证数据中的用户标识数据和对应的用户组标识数据,并将所述用户标识数据逐个导入至目标认证系统以及将所述用户组标识数据逐组导入到所述目标认证系统中。
25.可选的,若所述用户认证文件的文件格式为纯文本文件格式和/或电子表格格式,所述在所述用户认证文件中提取用户认证数据,作为目标用户认证数据,包括:
26.在所述用户认证文件中提取用户身份标识信息、用户名称信息、用户组标识信息、用户组名称信息以及存储路径信息;
27.根据所述户身份标识信息、用户名称信息、用户组标识信息、用户组名称信息以及存储路径信息,生成用户认证数据;
28.若所述用户认证数据中包括重复的数据,则删除重复的数据,并将删除重复的数据后的用户认证数据作为目标用户认证数据。
29.第二方面,本发明实施例提供了一种用户认证的迁移装置,包括:
30.数据提取模块,用于在原始认证系统中提取用户认证文件,并在所述用户认证文件中提取用户认证数据,作为目标用户认证数据;
31.数据导入模块,用于若目标认证系统中不存在与所述目标用户认证数据重复的数据,将所述目标用户认证数据导入至所述目标认证系统;
32.重复数据处理模块,用于若所述目标认证系统中存在与所述目标用户认证数据重
复的数据,删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中。
33.第三方面,本发明实施例提供了一种电子设备,其特征在于,包括:
34.一个或多个处理器;
35.存储装置,用于存储一个或多个程序,
36.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的用户认证的迁移方法。
37.第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的用户认证的迁移方法。
38.本发明实施例提供的技术方案,当目标认证系统和目标用户认证数据中的重复数据为用户标识数据时,则可以在目标认证系统或者目标用户认证数据中删除重复的用户标识数据,以避免重复数据导致的目标用户认证数据导入错误,实现了用户认证数据的批量迁移,提升了用户认证迁移效率;当目标认证系统与目标用户认证数据中重复的为用户组标识数据时,将目标用户认证数据中重复的用户组标识数据写入预设文件,可以避免用户认证迁移错误,同时可以避免用户标识数据对应的分组信息丢失,保证用户认证数据的完整性,实现了用户认证的无缝迁移;在将用户组标识数据写入预设文件时,同时将各用户组标识数据对应的问题码信息写入,可以使用户了解各数据对应的重复原因,进而采取对应的处理策略,提升处理效率;当用户认证文件为轻量级目录交换格式文件时,对目标用户认证文件的域名路径与组织单元路径进行检查,并最终按照预设域名路径和目标组织单元路径对目标用户认证数据进行存储,实现了轻量级目录交换格式用户认证文件中用户认证数据的批量导入,且避免了用户认证迁移错误,进一步提升了用户认证迁移效率;当用户认证文件为纯文本文件格式和/或电子表格格式文件时,获取目标用户认证数据中的用户标识数据和对应的用户组标识数据,并将用户标识数据逐个导入至目标认证系统,以及将用户组标识数据逐组导入到目标认证系统中,保证了用户标识数据分组结构的完整性,且不同用户认证文件格式对应不同类型的原始认证系统,实现了不同认证系统间的用户认证迁移;当用户认证文件为纯文本文件格式和/或电子表格格式文件时,在用户认证文件中提取各标识数据,进而获取对应的用户标识数据以及用户组标识数据;且预先进行重复数据的查找,以保证目标用户认证数据的正确性,可以进一步提升用户认证迁移的效率;通过在原始认证系统中提取用户认证文件,并在用户认证文件中提取用户认证数据,作为目标用户认证数据;若目标认证系统中不存在与目标用户认证数据重复的数据,则将目标用户认证数据导入至目标认证系统;若目标认证系统中存在与目标用户认证数据重复的数据,则删除重复数据,或者将目标用户认证数据中的重复数据的关联数据写入到预设文件中,可以避免用户认证数据迁移错误,实现了用户认证数据的批量迁移,提升了用户认证数据迁移效率,同时保留了用户认证数据的标识数据,实现了用户认证的无缝迁移。
附图说明
39.图1是本发明实施例提供的一种用户认证的迁移方法的流程图;
40.图2a是本发明实施例提供的一种用户认证的迁移方法的流程图;
41.图2b是本发明实施例提供的一种用户认证的迁移方法的流程示意图;
42.图3a是本发明实施例提供的一种用户认证的迁移方法的流程图;
43.图3b是本发明实施例提供的一种用户认证的迁移方法的流程示意图;
44.图4a是本发明实施例提供的一种用户认证的迁移方法的流程图;
45.图4b是本发明实施例提供的一种用户认证的迁移方法的流程示意图;
46.图5是本发明实施例提供的一种用户认证的迁移装置的结构框图;
47.图6是本发明实施例提供的一种电子设备的结构框图。
具体实施方式
48.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
49.图1为本发明实施例提供的一种用户认证的迁移方法的流程图,本实施例可适用于用户认证数据在不同用户认证系统间的自动迁移,其中,不同的认证系统可以配置在一个集群中,或者也可以分别配置在对应的集群中,该方法可以由本发明实施例中的用户认证的迁移装置来执行,该装置可以通过软件和/或硬件实现,并集成在电子设备上,该电子设备可以是计算机设备或者服务器,如图1所示,该方法具体包括如下步骤:
50.s110、在原始认证系统中提取用户认证文件,并在所述用户认证文件中提取用户认证数据,作为目标用户认证数据。
51.其中,认证系统,是对用户访问主机的账号和密码等信息进行集中管理的网络系统;通过认证系统,可以对用户在客户端的主机登录界面输入的账号、密码等信息进行验证,以确定用户是否具有访问对应主机的权限信息;对应的,原始认证系统,为集群采用的历史认证系统,或者待导出用户认证数据对应的认证系统。
52.本发明实施例中,原始认证系统可以包括网络信息系统(network information service,nis)和轻量型目录访问协议(lightweight directory access protocol,ldap)系统;其中,在网络信息系统中,用户登录任何一台nis客户机都会由统一的nis服务器进行登录验证,可以实现对用户认证信息的集中管理;而在ldap系统中,使用树状结构来存储和查找用户身份认证信息,可以实现对大量用户身份认证信息的集中管理。例如,当一个集群采用ldap系统时,可以实现用户的统一认证,即用户可以使用同一个账号和密码,实现对集群中任意服务器或主机的访问,可以降低集群认证系统的复杂度,降低管理成本。
53.在本发明实施例中,可选的,目标用户认证数据,为认证系统本地存储的,用于对用户进行身份和权限认证的数据信息。对于不同的认证系统,其对应的用户认证数据的数据形式不同,本发明实施例对用户认证数据的数据形式不作具体限定。具体的,认证系统在获取到用户输入的登录信息后,根据登录信息在用户认证数据中进行匹配数据的查找;若确定查找到匹配的用户认证数据,则可以确定当前用户通过身份认证;若未查找到匹配的用户认证数据,则确定当前用户不具有集群访问权限;通过用户认证数据,可以实现对用户身份和权限的判定。
54.在本发明实施例中,可选的,用户认证文件,为原始认证系统中用于存储用户认证数据的文件,由至少一条用户认证数据组成;本发明实施例中,用户认证文件的文件格式可以包括轻量级目录交换格式(ldap data interchange format file,ldif)、纯文本文件格
式(例如,txt)以及电子表格格式(例如,excel)。其中,不同类型的原始认证系统可以对应不同的用户认证文件格式,例如,当原始认证系统为nis时,对应的用户认证文件格式可以为纯文本文件格式,或者电子表格格式;当原始认证系统为ldap系统时,对应的用户认证文件格式可以为轻量级目录交换格式。
55.具体的,通过在原始认证系统中提取用户认证文件,进而根据用户认证文件获取对应的用户认证数据;需要说明的是,不同类型的原始认证系统对应不同文件格式的用户认证文件;而不同文件格式的用户认证文件,对应匹配的用户认证数据提取方法。因此,在获取到用户认证文件后,需要判断当前用户认证文件的文件格式,进而采用对应的用户认证数据提取方法,以获取对应的用户认证数据,可以实现对不同类型的原始认证系统对应的用户认证数据的提取,保证了本技术技术方案的适用性,提升了对用户认证数据的获取效率。
56.其中,用户认证数据可以具体包括用户标识数据和用户组标识数据;以公司员工管理系统为例,用户标识数据对应公司员工认证信息,用户组标识数据对应员工所属部门信息,或者对应不同的工作分组信息;一个用户标识数据可以对应一个或者多个用户组标识数据,一个用户组标识数据包括至少一个用户标识数据。其中,用户标识数据可以包括用户身份标识信息、用户名称信息、所属的用户组名称信息以及对应的存储路径信息;用户组标识数据可以包括用户组标识信息、用户组名称信息、包括的用户身份标识信息以及对应的存储路径信息。
57.s120、若目标认证系统中不存在与所述目标用户认证数据重复的数据,将所述目标用户认证数据导入至所述目标认证系统。
58.在本发明实施例中,可选的,目标认证系统,可以为集群当前采用的认证系统,或者为用户认证数据待导入的认证系统;目标认证系统可以包括ldap系统。目标认证系统和原始认证系统可以为相同类型的认证系统,例如,目标认证系统和原始认证系统均为ldap系统;也可以对应不同类型的认证系统,例如,原始认证系统为nis系统,目标认证系统为ldap系统。
59.需要说明的是,在将目标用户认证数据导入至目标认证系统的数据库中时,若目标用户认证数据中存在与目标认证系统中的已存储数据重复的数据,会发生数据导入错误,导致数据导入停止;因此,在获取到原始认证系统中的目标用户认证数据后,需要判断目标认证系统中是否存在与目标用户认证数据重复的数据。
60.在本发明实施例中,在确定目标认证系统中不存在与目标用户认证数据重复的数据后,由于用户认证文件对应不同的文件格式,需要根据用户认证文件的文件格式,采用匹配的数据导入方法将目标用户认证数据导入至目标认证系统。其中,当原始认证系统与目标认证系统为相同的类型,例如,原始认证系统与目标认证系统均为ldap系统,用户认证文件为轻量级目录交换格式;可以采用数据导入命令的方式进行目标用户认证数据的批量导入,例如,导入命令为ldapadd命令,其可以通过设置待导入数据的文件路径以及导入执行规则,实现对ldif文件中数据的批量导入;在ldapadd命令中,可以通过设置

c参数实现在发生导入错误时继续导入,如果不设置

c参数,则在遇到导入错误时停止数据导入。
61.可选的,当原始认证系统与目标认证系统为不同的系统类型,例如,原始认证系统为nis系统,目标认证系统为ldap系统,用户认证文件为纯文本文件格式或电子表格格式;
由于ldap系统的批量导入命令只适用于ldif格式文件,故需要采用逐个导入的方式,将当前目标用户认证数据导入至目标认证系统;通过上述方法,可以实现用户认证数据在原始认证系统与目标认证系统间的无缝迁移,且可以适用于不同类型的原始认证系统与目标认证系统。
62.需要说明的是,在目标用户认证数据提取和导入的过程中,没有对目标用户认证数据中的标识数据进行任何的修改操作,故可以保证用户认证数据在不同认证系统间的无缝迁移,保证在认证系统发生改变的情况下,用户仍可以使用原始的身份信息,通过不同认证系统的身份认证。
63.s130、若所述目标认证系统中存在与所述目标用户认证数据重复的数据,删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中。
64.在本发明实施例中,若在目标认证系统中查找到与目标用户认证数据重复的已存储数据,则可以删除目标用户认证数据或者目标认证系统中的重复数据,可以消除重复数据对用户认证数据导入的影响;还可以将目标用户认证数据中的重复数据写入到预设文件,或者将重复数据和对应的关联数据写入到预设文件中,例如,预设文件的文件名称为export_user_error_hhmmss,存储路径可以为/opt/user;由用户后续判断是否进行重复数据的删除或修改,可以避免对重要用户认证数据的误删,可以提升安全性。
65.需要说明的是,当重复数据为用户标识数据时,对应的关联数据为用户标识数据自身,则将目标用户认证数据中重复的用户认证数据写入预设文件;当重复数据为用户组标识数据时,对应的关联数据可以是用户组包含的用户标识数据。通过将重复的数据进行删除或者写入对应的预设文件,可以避免重复数据导致的数据导入错误,同时也可以将重复的数据写入预设文件,由用户判断是否进行重复数据的删除,进而可以保证批量用户认证数据的高效率导入。
66.在本发明实施例中,可选的,若所述目标认证系统中存在与所述目标用户认证数据重复的数据,提示删除重复数据,可以包括:若所述目标认证系统中存在与所述目标用户认证数据中的目标用户标识数据重复的用户标识数据,提示删除重复的用户标识数据;所述目标用户标识数据包括用户身份标识信息和/或者用户名称信息。
67.需要说明的是,目标用户标识数据包含的用户身份标识信息(user id number,uidnumer)和用户名称信息(user id,uid),uidnumer是对uid的字符表示,只要存在一项信息与目标认证系统中的用户标识数据相同,则可以确认当前的目标用户认证数据为重复数据;例如,目标用户标识数据的用户名称信息和用户身份标识信息为user01/1000,目标认证系统中包括用户标识数据user01/1001,当前用户名称信息重复,则可以确定两数据重复;又如,目标用户标识数据的用户名称信息和用户身份标识信息为user01/1000,目标认证系统中包括用户标识数据user02/1000,当前用户身份标识信息重复,则确定两数据重复;又如,目标用户标识数据的用户名称信息和用户身份标识信息为user01/1000,目标认证系统中包括用户标识数据user01/1000,当前用户身份标识信息和用户名称信息均重复,则确定两数据重复。
68.在本发明实施例中,在确定用户标识数据重复后,可以向用户发送用户标识数据重复的提示信息,并提示用户删除当前重复的用户标识数据,可以避免重复的用户标识数据导致的数据导入错误;同时,删除重复的用户标识数据,不会对其他目标用户认证数据产
生任何影响,可以保证目标用户认证数据的高效率导入。
69.在本发明实施例中,可选的,若所述目标认证系统中存在与所述目标用户认证数据重复的数据,将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中,可以包括:若所述目标认证系统中存在与所述目标用户认证数据中的目标用户组标识数据重复的用户组标识数据,将所述目标用户认证数据中重复的用户组标识数据以及对应的用户标识数据写入到预设文件中;其中,目标用户组标识数据包括用户组标识信息和/或用户组名称信息。
70.需要说明的是,当重复的数据为目标用户组标识数据时,由于用户组标识数据包含对应的用户标识数据,若直接删除重复的目标用户组标识数据,其包含的用户标识数据将会丢失对应的用户组信息,造成用户认证数据导入错误。例如,目标用户组标识数据的用户组名称信息(group id,gid)和用户组标识信息(group id number,gidnumber)分别为group01/2000,目标认证系统包括用户组标识数据group01/2001,则用户组名称信息重复,若将目标用户组标识数据删除,当存在用户认证数据对应的用户组标识信息为2000时,无法找到对应的用户组,进而导致系统错误;而若将group01/2001删除,对应用户组标识信息为2001的用户认证数据会产生错误;因此,无法直接将重复的用户组标识数据删除。同理,当用户组标识信息重复以及用户组名称信息和用户组标识信息均重复时,同样无法删除对应的用户组标识数据。
71.由此,在确定目标用户组标识数据重复时,需要将目标用户认证数据中重复的用户组标识数据写入到预设文件,或者将重复的用户组标识数据和其包含的用户标识数据写入到预设文件;后续由用户判断是否对重复的用户标识数据进行删除或者修改等操作,可以避免用户认证数据的丢失,保证用户认证数据的完整性。
72.在本发明实施例中,可选的,所述将所述目标用户认证数据中重复的用户组标识数据以及对应的用户标识数据写入到预设文件中,可以包括:获取所述目标用户认证数据中重复的用户组标识数据对应的问题码信息;其中,所述问题码信息包括用户组标识数据重复的原因;将所述目标用户认证数据中重复的用户组标识数据、对应的用户标识数据以及所述问题码信息写入到预设文件中。
73.需要说明的是,在对用户组标识数据进行重复性判断时,只要存在一项信息重复,则可以确定目标用户认证数据的用户组标识数据和目标认证系统中的用户组标识数据重复,并将重复的用户组标识数据写入至预设文件;由此,预设文件中的用户组标识数据存在三种情况,即仅用户组标识信息重复、仅用户组名称信息重复以及用户组标识信息和用户组名称信息均重复。
74.为了区分上述三种情况,采用问题码信息对用户组标识数据重复的原因进行表示,例如,groupname_duplicate表示用户组名称信息重复,groupid_duplicate表示用户组标识信息重复,以及groupname_groupid_duplicate表示用户组名称信息和用户组标识信息均重复;通过获取每一个重复的用户组标识数据对应的问题码信息,进而将重复的用户组标识数据、其包含的用户标识数据以及对应的问题码信息写入到预设文件中,可以使用户明确当前重复的用户组标识数据重复的原因,进而采取对应的处理策略。
75.本发明实施例中,可以预设重复的用户组标识数据处理策略;在将重复的用户组标识数据添加至预设文件后,可以根据重复用户组标识数据对应的问题码信息,获取匹配
的处理策略,例如,当用户组标识数据仅为用户组标识信息重复时,向用户组标识数据对应的管理用户发送用户组标识信息修改确认信息,并在收到用户的确认回复后,对用户组标识信息进行修改,并对对应的用户标识数据进行匹配修改;通过预设的处理策略对重复的用户组标识数据进行处理,进而将修改后的用户组标识数据重新导入至目标认证系统,可以避免用户对应分组的丢失,进一步保证了用户认证数据的完整性。
76.本发明实施例提供的技术方案,通过在原始认证系统中提取用户认证文件,并在用户认证文件中提取用户认证数据,作为目标用户认证数据;若目标认证系统中不存在与目标用户认证数据重复的数据,则将目标用户认证数据导入至目标认证系统;若目标认证系统中存在与目标用户认证数据重复的数据,则删除重复数据,或者将目标用户认证数据中的重复数据的关联数据写入到预设文件中,可以避免用户认证数据迁移错误,实现了用户认证数据的批量迁移,提升了用户认证数据迁移效率,同时保留了用户认证数据的标识数据,实现了用户认证的无缝迁移。
77.图2a为本发明实施例提供的一种用户认证的迁移方法的流程图,本实施例在上述实施例的基础上进行具体化,在本实施例中,原始认证系统与目标认证系统对应相同类型的认证系统,当用户认证文件为轻量级目录交换格式时,对目标用户认证数据的存储路径进行检测,进而根据预设域名路径和组织单元路径对目标用户认证数据进行存储,如图2a所示,该方法具体包括:
78.s210、在原始认证系统中提取轻量级目录交换格式的用户认证文件,并在所述用户认证文件中提取用户认证数据,作为目标用户认证数据,执行s220。
79.在本发明实施例中,若用户认证文件的文件格式为轻量级目录交换格式,其存储的用户认证数据的数据形式与目标认证系统的数据形式一致,故可以在用户认证文件中采用逐项提取的方式,直接获取用户认证数据。
80.需要说明的是,当用户认证文件的文件格式为轻量级目录交换格式时,在获取到用户认证数据后,可以预先检查数据本身的完整性和合法性,例如,检查用户标识数据对应的用户组标识数据是否存在,若确定对应的用户组标识数据不存在,则需要创建对应的用户组标识数据;又如,检查用户认证数据中是否存在重复的数据,若确定存在重复的数据,则可以将重复的数据进行删除。通过预先对用户认证数据进行完全性和合法性的检查,可以保证获取的目标用户认证数据本身的正确性,进而可以提升目标用户认证数据导入的效率。
81.s220、判断目标认证系统中是否存在与所述目标用户认证数据重复的数据。
82.其中,若是,执行s280;否则,执行s230。具体的,目标用户认证数据可以包括用户标识数据(uservo)列表和用户组标识数据(groupvo)列表;在目标认证系统服务端(gridview)查询已存储的用户标识数据列表和用户组标识列表,并判断目标用户认证数据与目标认证系统中是否存在重复的用户名称信息(uid)和用户身份标识信息(uidnumer),或者是否存在重复的用户组名称信息(gid)和用户组标识信息(gidnumber),以确定目标用户认证数据与目标认证系统是否存在重复的数据。
83.s230、判断所述目标用户认证数据中的每条数据在原始认证系统的域名路径与在所述目标认证系统中的预设域名路径是否一致。
84.其中,若确定一致,则执行s250;否则,执行s240。需要说明的是,当用户认证文件
的文件格式为轻量级目录交换格式时,原始认证系统的类型为ldap系统,同时目标认证系统也为ldap系统;在ldap系统中,数据存储为树状形式,需要通过域名(domain component,dc)路径和组织单元(organizational unit,ou)路径,共同确定一条用户认证数据在认证系统中的存储位置;其中,dc为树状结构的根目录路径,ou为树状结构的子目录路径,例如,数据的ou=a,dc=b,dc=com,表示数据处于b.com域的a组织单元中。
85.在本发明实施例中,在对目标用户认证数据进行导入时,需要根据各目标用户认证数据对应的存储路径进行存储,若存储路径错误或者不存在,均无法对目标用户认证数据进行导入。因此,在确定目标用户认证数据中不存在重复的数据后,判断目标用户认证数据中每条数据的域名路径是否与目标认证系统当前的预设域名路径是否一致,以确定目标用户认证数据的域名路径是否正确,可以避免目标用户认证数据的导入失败。
86.s240、采用预设域名路径更新所述目标用户认证数据中每条数据的域名路径,执行s250。
87.具体的,若确定目标用户认证数据中存在用户认证数据的域名路径与目标认证系统的预设域名路径不一致,则需要采用预设域名路径对当前用户认证数据的域名路径进行替换和更新,以确保每一个目标用户认证数据都可以存储到对应的预设域名路径。
88.s250、判断所述目标用户认证数据中的每条数据在原始认证系统的目标组织单元路径是否存在于目标认证系统中。
89.其中,若确定存在,则执行s270;否则,执行s260。具体的,在确认目标用户认证数据的域名路径正确后,进一步判断目标认证系统中是否存在目标用户认证数据的目标组织单元路径;若确定目标认证系统中存在目标用户认证数据的目标组织单元路径,则可以直接将当前目标用户认证数据按照预设域名路径和目标组织单元路径进行导入和存储;若目标认证系统中不存在目标认证数据的目标组织单元路径,则需要在目标认证系统中,新建对应的目标组织单元路径,进而按照预设域名路径和目标组织单元路径对目标用户认证数据进行存储,使得目标用户认证数据可以按照匹配的存储路径进行存储,避免了存储路径错误导致的数据导入错误,进一步提升了数据导入效率。
90.s260、在所述目标认证系统中创建所述目标组织单元路径,执行s270。
91.s270、若接收到导入指令,将所述目标用户认证数据中的每条数据基于所述预设域名路径和所述目标组织单元路径进行存储,执行s290。
92.需要说明的是,原始认证系统对应不同的系统类型,而目标认证系统包括ldap系统,其数据存储形式为树状形式;不同原始认证系统中提取的用户认证数据的数据形式不同,需要采用匹配的数据导入方式,才可以将不同形式的用户认证数据导入至目标认证系统。当用户认证文件的文件格式为轻量级目录交换格式时,可以先将用户认证数据存储为中间临时文件,文件路径为/tmp/;由于用户认证数据的存储路径形式与目标认证系统的存储路径形式一致,故可以采用导入命令对中间临时文件中的用户认证数据进行批量导入,提升了认证迁移效率。
93.s280、删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中,执行s290。
94.s290、结束。
95.为了更清楚的介绍本发明实施例的技术方案,如图2b所示,本发明实施例提供的
技术方案可以包括:首先,检查目标认证系统中是否配置了ldap认证源,若未配置ldap认证源,则返回错误信息,并结束认证迁移流程;而若确定配置了ldap认证源,在原始认证系统中获取ldif格式的用户认证文件,并解析用户认证文件,以获取目标用户标识数据和目标用户组标识数据;其次,从目标认证系统的服务端中获取目标认证系统中的用户标识数据和用户组标识数据,进而判断目标用户标识数据和目标用户组标识数据中,是否存在与用户标识数据或用户组标识数据重复的数据;最终,若确定不存在重复的数据,将目标用户标识数据和目标用户组标识数据存为中间临时文件,文件路径为/tmp/,并检测各数据的域名路径与组织单元路径,与目标认证系统中配置的域名路径和组织单元路径是否一致;若确定不一致,需要将中间临时文件中各数据的域名路径和组织单元路径替换为目标认证系统中的配置,并采用ldapadd命令将中间临时文件中的数据进行批量导入;而若确定存在重复的数据,则返回错误信息,并删除ldif文件中或者目标认证系统中的重复用户认证数据,结束认证迁移流程。
96.本发明实施例提供的技术方案,当用户认证文件的文件格式为轻量级目录交换格式时,对目标用户认证数据的域名路径和组织单元路径进行检查,以获取正确的存储路径,进而按照更新后的存储路径对目标用户认证数据进行存储,实现了用户认证数据在同类型认证系统间的数据迁移,避免了存储路径错误导致的用户认证数据迁移错误,实现了用户认证数据的批量迁移,提升了用户认证数据迁移效率。
97.图3a为本发明实施例提供的一种用户认证的迁移方法的流程图,本实施例在上述实施例的基础上进行具体化,在本实施例中,原始认证系统与目标认证系统为不同类型的认证系统,当用户认证文件为纯文本文件格式时,在用户认证文件中提取用户认证数据,并采用匹配的导入方式将用户认证数据导入目标认证系统,如图3a所示,该方法具体包括:
98.s310、在原始认证系统中提取纯文本文件格式的用户认证文件,执行s320。
99.s320、判断所述用户认证文件是否包括/etc/passwd和/etc/group文件。
100.其中,若是,则执行s330;否则,执行s370。在本发明实施例中,可选的,当用户认证文件为纯文本文件格式时,需要根据用户认证文件的内容,确定同时获取了包含用户标识数据和用户组标识数据的/etc/passwd和/etc/group文件后,再进行标识数据的获取;其中,/etc/passwd用于存储用户标识数据,/etc/group用于存储用户组标识数据。否则,返回错误信息,并结束流程。通过获取上述标识数据,进而可以获取对应的用户标识数据和用户组标识数据,实现了对用户认证数据的获取。
101.s330、根据/etc/passwd和/etc/group文件,获取用户认证数据,作为目标用户认证数据,执行s340。
102.在本发明实施例中,可选的,若所述用户认证文件的文件格式为纯文本文件格式和/或电子表格格式,所述在所述用户认证文件中提取用户认证数据,作为目标用户认证数据,可以包括:在所述用户认证文件中提取用户身份标识信息、用户名称信息、用户组标识信息、用户组名称信息以及存储路径信息;根据所述户身份标识信息、用户名称信息、用户组标识信息、用户组名称信息以及存储路径信息,生成用户认证数据;若所述用户认证数据中包括重复的数据,则删除重复的数据,并将删除重复的数据后的用户认证数据作为目标用户认证数据。
103.在本发明实施例中,在获取到用户认证数据后,可以在用户认证数据内部预先进
行重复数据的筛选,以删除重复的用户认证数据,并将删除重复数据后的用户认证数据作为目标用户认证数据,或者,根据预设用户认证数据格式,对用户认证数据中的数据进行格式检查,并将不符合预设用户认证数据格式的用户认证数据删除,以获取对应的目标用户认证数据。通过预先对获取的用户认证数据进行格式或重复性检查,实现了更加准确的目标用户认证数据的获取。
104.在本发明实施例中,当用户认证文件的文件格式为纯文本文件格式或电子表格格式时,用户认证数据的标识数据以字段的形式存在;故可以采用预设数据项查找的方式,在用户认证文件中提取各标识数据,进而生成对应的用户认证数据;例如,在用户认证文件中查找用户名,以获取用户名称信息;在获取到标识数据后,将各标识数据按照获取顺序进行存储,将具有相同获取顺序的各标识数据进行组合,以获取用户认证数据,实现了不同文件格式的用户认证文件中用户认证数据的获取。
105.s340、判断目标认证系统中是否存在与所述目标用户认证数据重复的数据。
106.其中,若是,执行s360;否则,执行s350。
107.s350、获取所述目标用户认证数据中的用户标识数据和对应的用户组标识数据,并将所述用户标识数据逐个导入至目标认证系统以及将所述用户组标识数据逐组导入到所述目标认证系统中,执行s370。
108.本发明实时例中,在导入用户组标识数据时,可以获取用户组标识数据包括的成员用户的标识数据(member user identification,memberuid),并将用户组标识数据以及包含的用户标识数据基于相同的存储路径逐组存储至目标认证系统,可以进一步提升数据导入的效率。
109.其中,当用户认证文件的文件格式为纯文本文件格式或电子表格格式时,用户认证数据不具有与目标认证系统的存储路径形式一致的目标存储路径,且用户认证数据的数据形式不一致,故无法直接采用导入命令将目标用户认证数据进行批量导入;由此,在目标用户认证数据中获取到用户标识数据和对应的用户组标识数据后,将用户标识数据转换为目标认证系统的数据存储形式,并确定用户标识数据在目标认证系统中的存储路径,将用户标识数据按照确定的存储路径存储至目标认证系统;以及获取用户组标识数据包括的全部用户标识数据,并采用相同的存储路径对属于同一用户组标识数据的用户标识数据进行存储;实现了不同文件格式的用户认证文件中目标用户认证数据的导入。
110.s360、删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中,执行s370。
111.其中,在删除重复数据时,可以删除/etc/passwd和/etc/group中的重复数据,也可以在目标认证系统服务端gridview中删除目标认证系统中的重复数据;若删除目标认证系统中的重复数据,则将目标用户认证数据中的重复数据导入至目标认证系统,以保证对当前用户的身份认证。
112.s370、结束。
113.为了更清楚的介绍本发明实施例的技术方案,如图3b所示,本发明实施例提供的技术方案可以包括:在确定目标认证系统配置了ldap认证源后,判断用户认证文件中是否包括/etc/passwd和/etc/group文件;若确定用户认证文件中包括上述文件,读取/etc/passwd和/etc/group文件,以获取目标用户标识数据uservo列表和目标用户组标识数据
groupvo列表;从目标认证系统的服务端gridview中获取目标认证系统中的用户标识数据和用户组标识数据,进而判断目标用户标识数据和目标用户组标识数据中,是否存在与用户标识数据或用户组标识数据重复的数据;若确定不存在重复的数据,将目标用户标识数据逐个添加至目标认证系统以及将目标用户组标识数据逐组添加至目标认证系统;当添加目标用户组标识数据时,需要设置包括的成员用户的标识数据;而若确定存在重复的数据,返回错误信息,对重复数据进行删除,并结束认证迁移流程。
114.本发明实施例中的技术方案,当在原始认证系统中获取的用户认证文件的文件格式为纯文本文件格式时,在确定用户认证文件中同时包括了/etc/passwd和/etc/group文件后,根据用户认证文件获取对应的目标用户认证数据,并在确定目标认证数据与目标认证系统中不存在重复的数据后,将目标认证数据导入至目标认证系统,实现了纯文本文件格式的用户认证文件中用户认证数据的导入,避免了用户认证文件的文件格式对用户认证迁移的影响,实现了不同类型认证系统间的用户认证迁移,提升了用户认证迁移效率。
115.图4a为本发明实施例提供的一种用户认证的迁移方法的流程图,本实施例在上述实施例的基础上进行具体化,在本实施例中,原始认证系统与目标认证系统为不同类型的认证系统,当用户认证文件为电子表格格式时,读取电子表格格式文件以获取用户认证数据,并将用户认证数据导入目标认证系统,如图4a所示,该方法具体包括:
116.s410、在原始认证系统中提取电子表格格式的用户认证文件,执行s420。
117.s420、根据电子表格格式的用户认证文件,获取用户认证数据,作为目标用户认证数据,执行s430。
118.具体的,当用户认证文件为电子表格格式时,根据预设列名在电子表格文件中进行匹配数据的查找,例如,预设列名为用户名称以及用户标识;进而根据查找的匹配数据,获取用户认证数据;其中,可以认为具有相同查询顺序的查询结果属于同一用户,以获取用户的各标识数据,进而组合得到各用户对应的用户认证数据,实现了电子表格格式用户认证文件中用户认证数据的获取。
119.s430、判断目标认证系统中是否存在与所述目标用户认证数据重复的数据。
120.其中,若是,执行s450;否则,执行s440。
121.s440、获取所述目标用户认证数据中的用户标识数据和对应的用户组标识数据,并将所述用户标识数据逐个导入至目标认证系统以及将所述用户组标识数据逐组导入到所述目标认证系统中,执行s460。
122.需要说明的是,当用户认证文件为电子表格格式时,用户标识数据和用户组标识数据的导入方式,与纯文本文件格式用户认证文件中目标用户认证数据的导入方式一致,在此不作赘述。
123.s450、删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中,执行s460。
124.s460、结束。
125.为了更清楚的介绍本发明实施例的技术方案,如图4b所示,本发明实施例提供的技术方案可以包括:在确定目标认证系统配置了ldap认证源后,读取电子表格格式的用户认证文件,以获取目标用户标识数据uservo列表以及目标用户组标识数据groupvo列表;从目标认证系统的服务端gridview中获取目标认证系统中的用户标识数据和用户组标识数
据,进而判断目标用户标识数据和目标用户组标识数据中,是否存在与用户标识数据或用户组标识数据重复的数据;若确定不存在重复的数据,将目标用户标识数据逐个添加至目标认证系统以及将目标用户组标识数据逐组添加至目标认证系统;当添加目标用户组标识数据时,需要设置包括的成员用户的标识数据;而若确定存在重复的数据,返回错误信息,在用户认证文件中或目标认证系统中删除重复的数据,并结束认证迁移流程。
126.本发明实施例中的技术方案,当原始认证系统中提取的用户认证文件为电子表格格式时,在用户认证文件中提取目标用户认证数据;并在确定目标认证系统中不存在与目标用户认证数据重复的数据后,将目标用户认证数据中用户标识数据逐个导入目标认证系统,以及将用户组标识数据逐组导入目标认证系统,实现了电子表格格式用户认证文件中用户认证数据的提取和导入,进而实现了用户认证数据在不同认证系统间的迁移,避免了用户认证文件的文件格式对用户认证迁移的影响,提升了用户认证迁移效率。
127.图5是本发明实施例所提供的一种用户认证的迁移装置的结构框图,该装置具体包括:数据提取模块510、数据导入模块520和重复数据处理模块530;
128.数据提取模块510,用于在原始认证系统中提取用户认证文件,并在所述用户认证文件中提取用户认证数据,作为目标用户认证数据;
129.数据导入模块520,用于若所述目标认证系统中不存在与所述目标用户认证数据重复的数据,将所述目标用户认证数据导入至目标认证系统;
130.重复数据处理模块530,用于若所述目标认证系统中存在与所述目标用户认证数据重复的数据,删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中。
131.可选的,在上述技术方案的基础上,重复数据处理模块530,包括:
132.第一重复数据处理单元,用于若所述目标认证系统中存在与所述目标用户认证数据中的目标用户标识数据重复的用户标识数据,提示删除重复的用户标识数据;所述目标用户标识数据包括用户身份标识信息和/或用户名称信息。
133.可选的,在上述技术方案的基础上,重复数据处理模块530,包括:
134.第二重复数据处理单元,用于若所述目标认证系统中存在与所述目标用户认证数据中的目标用户组标识数据重复的用户组标识数据,将所述目标用户认证数据中重复的用户组标识数据以及对应的用户标识数据写入到预设文件中;其中,目标用户组标识数据包括用户组标识信息和/或用户组名称信息。
135.可选的,在上述技术方案的基础上,第二重复数据处理单元,具体用于获取所述目标用户认证数据中重复的用户组标识数据对应的问题码信息;其中,所述问题码信息包括用户组标识数据重复的原因;将所述目标用户认证数据中重复的用户组标识数据、对应的用户标识数据以及所述问题码信息写入到预设文件中。
136.可选的,在上述技术方案的基础上,若所述用户认证文件的文件格式为轻量级目录交换格式,数据导入模块520,包括:
137.域名路径判断单元,用于判断所述目标用户认证数据中的每条数据在原始认证系统的域名路径与在所述目标认证系统中的预设域名路径是否一致;
138.域名路径更新单元,用于若否,则采用预设域名路径更新所述目标用户认证数据中每条数据的域名路径;
139.组织单元路径判断单元,用于判断所述目标用户认证数据中的每条数据在原始认证系统的目标组织单元路径是否存在于目标认证系统中;
140.组织单元路径创建单元,用于若否,则在所述目标认证系统中创建所述目标组织单元路径;
141.数据存储单元,用于若接收到导入指令,将所述目标用户认证数据中的每条数据基于所述预设域名路径和所述目标组织单元路径进行存储。
142.可选的,在上述技术方案的基础上,数据导入模块520,具体用于若所述用户认证文件的文件格式为纯文本文件格式和/或电子表格格式,获取所述目标用户认证数据中的用户标识数据和对应的用户组标识数据,并将所述用户标识数据逐个导入至目标认证系统以及将所述用户组标识数据逐组导入到所述目标认证系统中。
143.可选的,在上述技术方案的基础上,数据提取模块510,包括:
144.信息提取单元,用于若所述用户认证文件的文件格式为纯文本文件格式和/或电子表格格式,在所述用户认证文件中提取用户身份标识信息、用户名称信息、用户组标识信息、用户组名称信息以及存储路径信息;
145.数据生成单元,用于根据所述户身份标识信息、用户名称信息、用户组标识信息、用户组名称信息以及存储路径信息,生成用户认证数据;
146.数据删除单元,用于若所述用户认证数据中包括重复的数据,则删除重复的数据,并将删除重复的数据后的用户认证数据作为目标用户认证数据。
147.上述装置可执行本发明任意实施例所提供的用户认证的迁移方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的方法。
148.图6是本发明实施例提供的一种电子设备结构示意图,如图6所示,该设备包括:
149.一个或多个处理器610,图6中以一个处理器610为例;
150.存储器620;
151.所述设备还可以包括:输入装置630和输出装置640。
152.所述设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。
153.存储器620作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种用户认证的迁移方法对应的程序指令/模块(例如,附图5所示的数据提取模块510、数据导入模块520和重复数据处理模块530)。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种用户认证的迁移方法,即:
154.在原始认证系统中提取用户认证文件,并在所述用户认证文件中提取用户认证数据,作为目标用户认证数据;
155.若目标认证系统中不存在与所述目标用户认证数据重复的数据,将所述目标用户认证数据导入至所述目标认证系统;
156.若所述目标认证系统中存在与所述目标用户认证数据重复的数据,删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中。
157.存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系
统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
158.输入装置630可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等设备。
159.本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的用户认证的迁移方法;该方法包括:
160.在原始认证系统中提取用户认证文件,并在所述用户认证文件中提取用户认证数据,作为目标用户认证数据;
161.若目标认证系统中不存在与所述目标用户认证数据重复的数据,将所述目标用户认证数据导入至所述目标认证系统;
162.若所述目标认证系统中存在与所述目标用户认证数据重复的数据,删除重复数据,或者将所述目标用户认证数据中的重复数据的关联数据写入到预设文件中。
163.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
164.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
165.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
166.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提
供商来通过因特网连接)。
167.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1