发明内容
有鉴于此,本发明的目的在于提供一种支持多系统接入的企业搜索权限控制方法与装置,以提供多系统接入企业搜索系统时的权限控制。。
为实现上述目的,本发明提供如下技术方案:
一种支持多系统接入的企业搜索权限控制方法,预先为接入系统的业务数据分配标识号码,将所述业务数据和相应的标识号码保存在索引库中,所述为接入系统的业务数据分配标识号码至少包括当所述业务数据在接入系统中仅特定权限实体可查询时,为所述业务数据分配由所述特定权限实体的权限实体序列号ID变换得到的标识号码;
所述方法包括:
在用户登陆企业搜索系统后,获取登陆用户在各个接入系统中的权限实体ID;
在所述登陆用户选定接入系统后,将所述登陆用户在选定的接入系统中的权限实体ID变换为与之对应的标识号码作为查询标识号码;
在所述索引库中搜索标识号码与所述查询标识号码相匹配的业务数据,
并将搜索到的业务数据展现给所述登陆用户。
优选的,所述标识号码包括接入系统ID和权限实体ID。
优选的,在为接入系统的业务数据分配标识号码之前,还包括:
为每个接入系统分配唯一的编号作为接入系统ID。
优选的,所述为接入系统的业务数据分配标识号码还包括:
当所述业务数据可被所有权限实体查询时,为所述业务数据分配为
“GUEST”字符串作为标识号码。
优选的,所述在所述索引库中搜索标识号码与所述查询标识号码相匹配的业务数据具体包括:
在索引库中搜索标识号码与所述查询标识号码相匹配的业务数据,以及标识号码为“GUEST”的业务数据。
优选的,所述将搜索到的业务数据展现给所述登陆用户具体包括:
展现搜索到的业务数据的标题和\或概要;
在所述登陆用户选定标题和\或概要后,验证所述登陆用户是否有权限查询所选定标题和\或概要所对应的业务数据;
验证通过后,将所述业务数据的全部内容展现给所述登陆用户。
一种支持多系统接入的企业搜索权限控制装置,包括预处理模块、登陆模块、查询模块和搜索模块;
所述预处理模块用于预先为接入系统的业务数据分配标识号码,并将所述业务数据和相应的标识号码保存在索引库中,所述为接入系统的业务数据分配标识号码至少包括当所述业务数据在接入系统中仅特定权限实体可查询时,为所述业务数据分配由所述特定权限实体的权限实体序列号ID变换得到的标识号码;
所述登陆模块用于在用户登陆企业搜索系统后,获取登陆用户在各个接入系统中的权限实体ID;
所述查询模块用于在所述登陆用户选定接入系统后,将所述登陆用户在选定的接入系统中的权限实体ID变换为与之对应的标识号码作为查询标识号码;
所述搜索模块用于在所述索引库中搜索标识号码与所述查询标识号码相匹配的业务数据,并将搜索到的业务数据展现给所述登陆用户。
优选的,所述标识号码包括接入系统ID和权限实体ID。
优选的,预处理模块在为接入系统的业务数据分配标识号码之前,还包括:为每个接入系统分配唯一的编号作为接入系统ID。
优选的,所述将搜索到的业务数据展现给所述登陆用户具体包括:
展现搜索到的业务数据的标题和\或概要;
在所述登陆用户选定标题和\或概要后,验证所述登陆用户是否有权限查询所选定标题和\或概要所对应的业务数据;
验证通过后,将所述业务数据的全部内容展现给所述登陆用户。
从上述的技术方案可以看出,在本发明实施例中,为接入系统的业务数据分配标识号码(标识号码由业务数据的权限实体ID变换而来),并将标识号码和业务数据存储在索引库中。这样用户登陆后,通过各个接入系统获取登陆用户的权限实体ID,并将权限实体ID变换为与之对应的标识号码。然后根据登陆用户的标识号码在索引库中搜索与标识号码相匹配的业务数据。由于在用户登陆后,会获取用户在各个接入系统中的权限实体ID,然后根据权限实体ID相对应的标识号码去索引库中搜索与标识号码相匹配的业务数据,所以所查询出的业务数据仍是登陆用户在接入系统中可查询的业务数据,从而保证了在企业搜索系统中所查询出的业务数据与接入系统中直接查询所查询出的业务数据保持一致。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种支持多系统接入的企业搜索权限控制方法,所基于的前提是:预先为接入系统的业务数据分配标识号码,将业务数据和相应的标识号码保存在索引库中,为接入系统的业务数据分配标识号码至少包括当业务数据在接入系统中仅特定权限实体可查询时,为业务数据分配由特定权限实体的权限实体ID变换得到的标识号码。
在各个接入系统中,每条业务数据都有对应的权限信息,权限信息内存放着有权限查看此业务数据的一个或多个实体ID。实体ID可以为某个用户的ID、某个部门的ID或某个角色的ID。有权限查看此业务数据的实体ID即权限实体ID(每条业务数据可有一个或多个权限实体ID)。标识号码可由接入系统ID+权限实体ID组成,其中系统ID由企业搜索系统为每个接入系统所分配的唯一编号,用于区分不同的接入系统。
基于上述前提,如图1所述,上述方法至少包括以下步骤:
S1:在用户登陆企业搜索系统后,获取登陆用户在各个接入系统中的权限实体ID;
具体的,S1可细化为以下步骤:
S11:用户登陆企业搜索系统后,企业搜索系统可通过“获取登陆用户权限实体ID”接口发送获取登陆用户权限实体ID消息给各个接入系统;
“获取登陆用户权限实体ID”接口为企业搜索系统要求每个接入的系统所制定的。
具体的,企业搜索系统可向每个接入系统发送制定“获取用户权限实体ID”接口消息,在每个接入系统接收到消息后,会制定“获取用户权限实体ID”接口。除此之外,企业搜索系统还会发送接口通信标准的消息给每个接入系统。每个接入系统在与企业搜索系统通信时,按接口通信标准的要求与企业搜索平台进行通信。更具体的,接口通信标准消息可包括接口名、传入接口的参数和接口的返回信息格式等。
S12:各个接入系统接收到企业搜索系统所发送的上述消息后,将查询登陆用户在自身系统中的权限实体ID,;
S13:各个接入系统将所查询的权限实体ID发送到企业搜索系统,企业搜索系统根据接入系统ID的不同将权限实体ID存放在缓存中的相应位置。
S2:在登陆用户选定接入系统后,将登陆用户在选定的接入系统中的权限实体ID变换为与之对应的标识号码作为查询标识号码;
具体的,企业搜索系统根据用户所选定的接入系统的接入系统ID,从上述缓取中获取登陆用户在选定的接入系统中的权限实体ID。用户所选定的接入系统可为一个接入系统,也可为多个接入系统。
S3:在索引库中搜索标识号码与查询标识号码相匹配的业务数据,并将搜索到的业务数据展现给登陆用户。
具体为,将查询标识号码与索引库中的标识号码进行“硬匹配”,并将“硬匹配”到的标识号码所对应的业务数据展现给登陆用户。所谓“硬匹配”指在索引库中搜索与查询标识号码完全相同的标识号码。
由上可见,在上述实施例中,为接入系统的业务数据分配标识号码(标识号码由业务数据的权限实体ID变换而来),并将标识号码和业务数据存储在索引库中。这样用户登陆后,通过各个接入系统获取登陆用户的权限实体ID,并将权限实体ID变换为与之对应的标识号码。然后根据登陆用户的标识号码在索引库中搜索与标识号码相匹配的业务数据。由于在用户登陆后,会获取用户在各个接入系统中的权限实体ID,然后根据权限实体ID相对应的标识号码去索引库中搜索与标识号码相匹配的业务数据,所以所查询出的业务数据仍是登陆用户在接入系统中可查询的业务数据,从而保证了在企业搜索系统中所查询出的业务数据与接入系统中所查询出的业务数据保持一致。
在本发明其它实施例中,上述所有实施例中的为接入系统的业务数据分配标识号码还包括:当业务数据可被所有权限实体查询时,为业务数据分配为“GUEST”字符串作为标识号码。
与之对应的,步骤S3为:在索引库中搜索标识号码与查询标识号码相匹配的业务数据,以及标识号码为“GUEST”的业务数据,并将所搜索到的业务数据展现给登陆用户。
在本发明其它实施例中,上述实施例中步骤S3可有多种实现方式。其中一种实现方式可为:在索引库中搜索标识号码与查询号码相匹配的业务数据,然后将搜索到的业务数据全部展现给登陆用户。
上述步骤S3的另一实现方式可如图2所示,包括以下步骤:
S31:在索引库中搜索标识号码与查询标识号码相匹配的业务数据;
S32:展现搜索到的业务数据的标题和\或概要;
S33:在登陆用户选定标题和\或概要后,验证登陆用户是否有权限查询所选定标题和\或概要所对应的业务数据;
具体的,在登陆用户选定标题和\或概要后,企业搜索系统的后台可通过“权限校验”接口向上述业务数据所属的接入系统发送验证信息,上述业务数据所属的接入系统会查询登陆用户是否有权限查询上述业务数据,并将查询结果通过“权限校验接口”接口发送给企业搜索系统。其“校验接口”和“获取登陆用户权限实体ID接口”的建立和工作过程相同,在此不再赘述。
S34:验证通过后,将业务数据的全部内部展现给登陆用户。
更具体的,企业搜索系统所接收到的查询结果可以为true或false。若为true表示登陆用户有权限查看上述业务数据,则将打开页面,将业务数据的全部内部展现给登陆用户;若为false表示登陆用户没有权限查看上述业务数据,此时可展现给登陆用户“对不起,您没有权限查看”的提示信息,并且不再进行打开页面的操作。
通过上述“校验接口“对登陆用户进行权限验证有以下原因:
由于索引库中的业务数据由企业搜索系统定时从各个接入系统所采集获得的,所以索引库中的业务数据不具有实时性。
举例来讲,假设企业搜索系统每隔30分钟从各个接入系统采集业务数据并存放在索引库中,此时,相当于索引库每隔30分钟更新一次。
再次假设接入系统A内的业务数据B是在时刻1被企业搜索系统所采集的。在时刻2接入系统A的业务数据B的权限实体ID发生了变化,假如时刻1上述业务数据B的权限实体ID内包含登陆用户的ID,但是在时刻2业务数据B的权限实体ID内不再包含登陆用户的ID,即登陆用户在时刻1对接入系统A内的业务数据B具有查询权限,但是在时刻2去不具备查询权限。
如果在时刻2(假设在时刻1与时刻2的时间内,索引库并没有进行更新)登陆用户要查询业务数据B,此时登陆用户在索引库中可以查询到没有权限的业务数据B。
而由于本发明在索引库中搜索标识号码与查询标识号码相匹配的业务数据后,只是展现搜索到的业务数据的标题和\或概要。在登陆用户选定标题和\或概要后,通过“权限校验接口”在业务数据所属的接入系统再次进行验证,所以登陆用户不会查询出没有权限的业务数据。
与上述方法相对应的,本发明公开了一种支持多系统接入的企业搜索权限控制装置,如图3所示,包括预处理模块300、登陆模块301、查询模块302和搜索模块303;
预处理模块300用于预先为接入系统的业务数据分配标识号码,并将业务数据和相应的标识号码保存在索引库中,为接入系统的业务数据分配标识号码至少包括当业务数据在接入系统中仅特定权限实体可查询时,为业务数据分配由特定权限实体的权限实体序列号ID变换得到的标识号码;具体的,标识号码包括接入系统ID和权限实体ID。接入系统ID为预处理模块为每个接入系统分配的唯一的编号,用于区分不同的接入系统。
登陆模块301用于在用户登陆企业搜索系统后,获取登陆用户在各个接入系统中的权限实体ID;
查询模块302用于在登陆用户选定接入系统后,将登陆用户在选定的接入系统中的权限实体ID变换为与之对应的标识号码作为查询标识号码;
搜索模块303用于在索引库中搜索标识号码与查询标识号码相匹配的业务数据,并将搜索到的业务数据展现给登陆用户。
具体的,将搜索到的业务数据展现给登陆用户包括以下步骤:
A:展现搜索到的业务数据的标题和\或概要;
B:在登陆用户选定标题和\或概要后,验证登陆用户是否有权限查询所选定标题和\或概要所对应的业务数据;
C:验证通过后,将业务数据的全部内容展现给登陆用户。
预处理模块300、登陆模块301、查询模块302和搜索模块303各细化功能可参见上述方法的相关记载,在此不作赘述。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。