发明内容
基于此,本发明提出了一种配置信息处理方法、装置,以提升应用程序的安全性。
一种配置信息处理方法,包括:
获取对目标应用进行配置读取操作所产生的所述目标应用的检索应用名;
确定触发所述配置读取操作的用户的角色;
根据所述角色及所述检索应用名获取所述目标应用的配置文件;
根据所述配置文件中配置项的访问属性对相应配置项进行明文或密文展示。
在其中一个实施例中,所述方法还包括:
根据对所述目标应用的配置存储操作,获取所述目标应用的初始应用名及配置文件;
确定触发所述配置存储操作的用户的角色;
根据所述角色,在所述目标应用的初始应用名中添加角色标识得到存储应用名,或直接将所述初始应用名确定为存储应用名;
基于对所述配置文件中配置项的加密操作,确定所述配置项的访问属性;
将所述存储应用名与包含所述访问属性的配置文件对应存储。
在其中一个实施例中,所述方法还包括:
当发生对配置文件的发布操作时,基于所述存储应用名生成所述配置文件的文件标识;
将所述文件标识、所述存储应用名以及包含所述访问属性的所述配置文件关联存储至服务器,以使所述服务器在接收到对所述目标应用的配置更新请求时,根据所述文件标识验证是否执行所述配置更新请求。
在其中一个实施例中,所述方法还包括:
获取所述目标应用所对应的应用描述;
拼接所述应用描述与所述存储应用名,得到标识字符串;
根据所述标识字符串,生成所述配置文件的文件标识。
在其中一个实施例中,所述方法还包括:
当所述角色为第一角色时,获取包含所述检索应用名的全部存储应用名关联的配置文件;
所述根据所述配置文件中配置项的访问属性对相应配置项进行明文或密文展示包括:对获取的所述配置文件中访问属性为目标属性的配置项密文展示,对获取的所述配置文件中访问属性为其他属性的配置项明文展示。
在其中一个实施例中,所述方法还包括:
当所述角色为第二角色时,获取包含所述检索应用名以及所述角色对应角色标识的存储应用名所关联的配置文件;
所述根据所述配置文件中配置项的访问属性对相应配置项进行明文或密文展示包括:对获取的所述配置文件中的配置项明文展示。
一种配置信息处理方法,包括:
接收第一终端发送的配置读取请求;所述配置读取请求携带了用户标识和目标应用的应用名;
确定所述用户标识对应的角色;
根据所述角色及所述应用名,获取所述目标应用的配置文件,将所述配置文件中访问属性为目标属性的配置项替换为相应的密文;
将完成密文替换的配置文件发送至所述第一终端。
在其中一个实施例中,所述方法还包括:
对第一终端发送的目标应用的存储应用名、配置文件及文件标识进行关联存储;
向第二终端发送基于所述文件标识生成的配置更新指令;
当接收到所述第二终端根据所述配置更新指令在所述目标应用触发的配置更新请求时,根据预存储的文件标识对所述第二终端进行权限验证,在验证通过后将所述目标应用的应用名关联的全部配置文件返回至所述第二终端。
一种配置信息处理装置,包括:
检索应用名获取模块,用于获取对目标应用进行配置读取操作所产生的所述目标应用的检索应用名;
角色获取模块,用于确定触发所述配置读取操作的用户的角色;
配置文件获取模块,用于根据所述角色及所述检索应用名获取所述目标应用的配置文件;
配置项显示模块,用于根据所述配置文件中配置项的访问属性对相应配置项进行明文或密文展示。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取对目标应用进行配置读取操作所产生的所述目标应用的检索应用名;
确定触发所述配置读取操作的用户的角色;
根据所述角色及所述检索应用名获取所述目标应用的配置文件;
根据所述配置文件中配置项的访问属性对相应配置项进行明文或密文展示。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取对目标应用进行配置读取操作所产生的所述目标应用的检索应用名;
确定触发所述配置读取操作的用户的角色;
根据所述角色及所述检索应用名获取所述目标应用的配置文件;
根据所述配置文件中配置项的访问属性对相应配置项进行明文或密文展示。
上述配置信息处理方法、装置、计算机设备和存储介质,由于用户只能读取与用户的角色对应的配置文件,使得服务器中的配置文件能过够按角色进行隔离,从而减少了配置信息泄露的可能性,进而提升了业务系统的安全性;由于第一终端可以根据用户的角色和配置项的访问属性,选择对配置项进行明文或密文展示,因此相比于传统的仅从项目维度进行访问权限分配,上述配置信息处理方法,可以从配置项的维度进行访问权限分配,从而能够对配置文件进行更细粒度的权限管理,进而提升了应用程序的安全性。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的配置信息处理方法,可以应用于如图1所示的应用环境中。其中,第一终端110通过网络与服务器120进行通信;服务器120通过网络与第二终端130进行通信。其中第一终端110和第二终端130具有接入互联网功能,可以但不限于是手机、固定电话、平板电脑或便携式可穿戴设备等。第一终端110可以运行用于对配置文件进行存储、读取和访问属性设置操作的第一应用或网页。第一终端110接收用户上传的配置文件,并对配置文件进行访问属性设置后,发送至服务器120。服务器120具体可以由独立的服务器或者是多个服务器组成的服务器集群实现。服务器120用于存储第一终端110发送的配置文件,并通知第二终端130配置文件已更新。第二终端130可以运行基于业务系统而生成的第二应用或网页,第二应用或网页在运行时需要依赖配置文件。第二终端130接收配置文件更新消息,根据更新消息,从服务器120中拉取对应的配置文件。用户可以通过第一终端110读取配置文件,第一终端110根据当前对配置进行读取操作的用户的角色,对配置文件进行明文或密文展示。
第一终端与第二终端可以是同一终端,也可以是不同终端。
在一个实施例中,如图1的应用环境图所示,服务器120包括配置服务器120a和应用服务器120b。配置服务器120a是指支持第一终端110运行的服务器,用于存储用户上传的配置文件;应用服务器120b是指向第二应用或网页发送已发布的配置文件的服务器。第一终端110接收用户上传的配置文件,并将配置文件发送至配置服务器120a。当用户在第一终端110对配置文件的访问属性进行修改,并点击发布按钮时,第一终端会生成配置文件发布指令,并将配置文件发布指令发送至配置服务器120a。配置服务器120a接收配置文件发布指令,将与配置文件发布指令对应的配置文件发送至应用服务器120b。应用服务器120b接收并存储已发布的配置文件,然后,通知第二终端130配置文件已更新,
第二终端130根据更新消息,从应用服务器120b中拉取对应的配置文件。上述一种配置信息处理方法,由于将用户上传的配置文件和已发布的配置文件分别存储于不同服务器中,从而可以保证第二终端130始终获取的是已发布的配置文件,进而可以减少第二终端130误拉取未发布的配置文件的概率。
在一个实施例中,如图2所示,提供了一种配置信息处理方法,以该方法应用于图1中的第一终端为例进行说明,包括以下步骤:
步骤S210,获取对目标应用进行配置读取操作所产生的目标应用的检索应用名。
其中,配置是记录对应用的进行何种特定设置的信息,通常以Key-Value(键值对)的方式存在,其中Key称为配置名,Value称为配置值,配置信息存储于配置文件中,应用根据配置完成对各功能的设置,如根据配置完成分辨率的设置。配置分为敏感配置项和普通配置项,敏感配置项对安全性要求较高,如用户的密码,这些敏感配置项仅对部分用户可见。普通配置信息安全性要求较低,可以对全部用户可见。存储敏感配置项的文件为敏感配置文件,存储普通配置项的文件为普通配置文件。
初始应用名是,未添加任何标识的应用名称。角色标识可以为,表示用户角色特征的标识,不同角色的用户可以有不同的角色标识。存储应用名可以是,对配置进行存储操作时,根据对配置进行存储操作的用户的角色,在初始应用名中添加相应的角色标识后得到的应用名,或根据用户的角色直接将初始应用名确定为存储应用名。第一终端可以根据预设的角色标识添加规则,从存储应用名中提取初始应用名,此时的初始应用名即为检索应用名。
具体地,图3是第一终端中的目标应用搜索界面。当用户登录第一终端,并在第一终端的搜索界面的搜索框中输入目标应用的初始应用名或存储应用名,以对目标应用的配置进行读取操作时,第一终端根据用户的操作,获取输入框中的初始应用名或存储应用名,将用户输入的初始应用名或存储应用名按照预设的角色标识添加规则反向解析,得到检索应用名。
例如,预设的角色标识添加规则为:在目标应用的初始应用名后面添加角色标识,且角色标识与初始应用名之间用标识符隔离。更具体地,用户登录第一终端,并在搜索框中输入目标应用的存储应用名“project-ops”。第一终端获取存储应用名,并查询存储应用名中是否有标识符“-”,当发现标识符时,截取标识符之前的字符,作为检索应用名。当没有发现标识符时,则可以认为此存储应用名并未添加角色标识,则直接将存储应用名作为检索应用名。标识符可以为“/”,“_”,“#”,“@”或“*”。
步骤S220,确定触发配置读取操作的用户的角色。
其中,在具体应用中,用户的角色包括第一角色和第二角色。第一角色通过第一终端上传普通配置文件,第二角色通过第一终端上传敏感配置文件,第一角色无权读取敏感配置项,第二角色有权读取全部敏感配置项。例如,用户的角色可以分为开发人员角色和运维人员角色。敏感配置项中记录了用户的密码、身份证号等对安全性要求高的信息,为了保障用户的隐私,敏感配置项仅能对运维人员可见。在项目开发过程中,为了验证项目的各功能是否正常,开发人员需要根据运维人员设置的敏感配置项中的配置名,创建一个配置值为虚拟值的虚拟配置项,并根据虚拟配置项,进行功能测试。因此开发人员可以获取敏感配置项和普通配置项,但是敏感配置项中的配置值对开发人员密文显示,运维人员可以获取敏感配置文件,且敏感配置文件对运维人员明文显示。
容易理解,用户的角色不仅仅局限于上述第一角色和第二角色,还可以是根据需求自由设定的其它角色,且用户的权限也不仅局限于是否有权限读取敏感配置文件,还可以是根据需求自由设定的其它权限,对此不作限定。
具体地,第一终端读取用户登录时输入的信息,根据用户输入的信息,确定用户的角色。例如,第一终端具有用户名与角色之间的对应关系。用户登录第一终端时,在登录页面中输入用户名。第一终端获取用户名,并根据用户从用户名与角色之间的对应关系中确定当前用户的角色。
步骤S230,根据角色及检索应用名获取目标应用的配置文件。
其中,服务器具有根据存储应用名生成的存储目录,用于对应存储第一终端发送的配置文件,如存储应用名为“project-ops”,根据存储应用名生成的存储目录为“..\project-ops”,则存储目录所对应的内存中存储的是,角色标识为“ops”的用户通过第一终端上传的初始应用名为“project”的配置文件。
具体地,第一终端根据用户的角色和检索应用名生成配置文件读取指令,并将配置文件读取指令发送至服务器。服务器接收配置文件读取指令,从配置文件读取指令中解析出用户的角色和检索应用名。服务器根据用户的角色,从与用户的角色对应的存储目录中读取配置文件。
例如,用户的角色可以分为开发人员角色和运维人员角色,对应的角色标识为“cre”、“ops”,目标应用的初始应用名和和检索应用名均为“project”,服务器根据用户的角色和初始应用名,生成对应的存储目录“..\project-cre”、“..\project-ops”。服务器接收配置文件读取指令,并从配置文件读取指令中确定当前触发读取操作的用户的角色为开发人员角色,则服务器根据角色和查询应用名,从存储目录为“..\project-cre”中提取配置文件,然后将配置文件发送至第一终端。
又例如,用户的角色可以分为开发人员角色和运维人员角色,对应的角色标识为“cre”、“ops”,目标应用的初始应用名和检索应用名均为“project”,服务器根据用户的角色和初始应用名,生成对应的存储目录“..\project-cre”、“..\project-ops”。服务器判断用户的角色是否为开发人员角色,当用户的角色为开发人员角色时,服务器从存储目录中查询包检索应用名“project”的存储目录中的配置文件,即服务器读取存储目录为“..\project-cre”和“..\project-ops”中的配置文件。当用户的角色为运维人员角色时,服务器根据运维人员的角色标识“ops”和检索应用名“project”,从存储目录中查询同时包含检索名和角色标识的存储目录下的配置文件,即服务器获取“..\project-ops”中的配置文件。当服务器查询到对应的配置文件后,将配置文件发送至第一终端。
步骤S230,根据配置文件中配置项的访问属性对相应配置项进行明文或密文展示。
其中,访问属性为,反映配置项是对所有用户可见还是仅对部分用户可见的信息。访问属性可以为加密访问属性和非加密访问属性,当配置项的访问属性为加密访问属性时,可以认为此配置项仅对部分用户可见,当配置项的访问属性为非加密访问属性时,可以认为此配置项对全部用户可见。图4是对配置项进行加密操作的界面,在对配置文件进行存储操作时,用户可以根据配置项是否为敏感配置项,选择是否加密此配置项,当选择加密此配置项时,该配置项对应的访问属性为加密访问属性,当选择不加密此配置项时,该配置项的访问属性为非加密访问属性。在用户对配置项的访问属性进行设置操作时,第一终端记录配置项的访问属性和设置配置属性的用户角色。
具体地,第一终端接收服务器发送的配置文件,并对配置文件进行解析,得到配置项。第一终端查看每个配置项的访问属性和设置访问属性的用户角色,当访问属性为目标访问属性,且设置访问属性的用户角色与当前进行读取操作的用户的角色不相同时,第一终端将访问属性为目标访问属性的配置项替换为相应的密文。当访问属性为目标访问属性,且设置访问属性的用户角色与当前进行读取操作的用户的角色相同时,第一终端保留访问属性为目标访问属性的配置。然后在页面中显示全部配置项。
例如,图5是第一终端根据配置项的访问属性对配置项进行明文或密文展示的界面。目标访问属性为加密访问属性,当前对配置文件进行读取操作的用户的角色为开发人员角色。第一终端获取配置文件,并将配置文件解析,得到配置项,第一终端查看配置项的访问属性,当配置项的访问属性为加密访问属性时,第一终端查看设置加密访问属性的用户的角色,当设置加密访问属性的用户的角色为运维人员角色时,则可以认为当前对配置文件进行读取操作的用户无权查看此配置项,第一终端根据预设加密算法将此配置项替换成相应的密文。
本实施例中,根据用户的角色和检索应用名,可以获取目标应用的配置文件;通过获取每个配置项中的访问属性,可以根据访问属性选择对配置项进行明文或密文展示。上述配置信息处理方法,由于用户只能读取与用户的角色对应的配置文件,使得服务器中的配置文件能够按角色进行隔离,从而减少了配置信息泄露的可能性,进而提升了应用程序的安全性;由于第一终端可以根据用户的角色和配置项的访问属性,选择对配置项进行明文或密文展示,因此相比于传统的仅从项目维度进行访问权限分配,上述配置信息处理方法,可以从配置项的维度进行访问权限分配,从而能够对配置文件进行更细粒度的权限管理,进而提升了业务系统的安全性。
在一个实施例中,该方法还包括:根据对目标应用的配置存储操作,获取目标应用的初始应用名及配置文件;确定触发配置存储操作的用户的角色;根据角色,在目标应用的初始应用名中添加角色标识得到存储应用名;基于对配置文件中配置项的加密操作,确定配置项的访问属性;将存储应用名与包含访问属性的配置文件对应存储。
具体地,用户在第一终端中的配置文件上传页面中上传目标应用的配置文件,并同时填写目标应用的初始应用名及目标应用的应用描述。第一终端获取用户上传的配置文件,并对配置文件进行解析,生成与配置文件对应的一个或多个配置项,然后在页面中显示。用户可以根据显示的配置项是否为敏感配置项,选择是否加密此配置项。当选择对配置项进行加密时,此配置项的访问属性为加密访问属性,当选择不对配置项进行加密时,此配置项的访问属性为非加密访问属性。第一终端获取目标应用的配置文件和目标应用的初始应用名,并从用户的登录信息中获取用户的角色,根据用户的角色和预设的规则,选择对初始应用名添加角色标识,生成存储应用名,或不添加角色标识,直接将初始应用名确定为存储应用名。例如,当用户的角色为第一角色时,第一终端直接将目标应用的初始应用名确定为存储应用名,当用户的角色为第二角色时,第一终端根据用户的角色,生成对应的角色标识,并自动在目标应用的初始应用名中添加角色标识,生成存储应用名。每种角色都添加标识,只是标识不同的情况。第一终端将存储应用名与包含访问属性的配置文件发送至服务器,服务器接收存储应用名和配置文件,并根据存储应用名创建包含存储应用名的存储目录,将配置文件存放于与存储目录对应的内存中。
上述一种配置信息处理方法,根据不同的存储应用名创建不同的存储目录,并将不同角色上传的配置文件对应存储至不同的存储目录中,使得后续可以根据对配置文件进行读取操作的角色,返回与角色对应的存储目录中的配置文件,从而达到了只允许用户读取与角色对应的配置文件的目的,进而提升了配置项的安全性;通过判断配置项是否为敏感配置项,确定配置项的访问属性,从而可以让第一终端根据配置项的访问属性,选择是否对配置项进行加密展示,进而可以提升配置项的安全性,减少敏感配置信息泄露的可能性。
在一个实施例中,该方法还包括:当发生对配置文件的发布操作时,基于存储应用名生成配置文件的文件标识;将文件标识、存储应用名以及包含访问属性的配置文件关联存储至服务器,以使服务器在接收到对目标应用的配置更新请求时,根据文件标识验证是否执行配置更新请求。其中,文件标识为第二终端从服务器中拉取配置文件的凭证。
具体地,当用户对目标应用的配置文件进行发布操作后,第一终端根据用户发布操作生成存储指令,并根据存储应用名和目标应用对应的应用描述生成文件标识,然后将存储指令、文件标识、存储应用名和配置文件一起发送至服务器。服务器接收文件标识,并将文件标识发送至第二终端。服务器接收存储指令,根据存储指令,将配置文件存放于与存储应用名对应的存储目录中。
上述一种配置信息处理方法,通过将配置文件存储于与存储应用名对应的存储目录中,从而可以根据用户角色对配置文件进行隔离,进而提升了配置项的安全性。
在一个实施例中,该方法还包括:获取目标应用所对应的应用描述;拼接应用描述与存储应用名,得到标识字符串;根据标识字符串,生成配置文件的文件标识。
其中,应用描述为,阐述应用特征的句子,当用户对配置文件进行存储操作时,用户根据应用特征,在第一终端中填写应用描述。由于不同应用的特征不同,因此对应的应用描述也不同。
具体地,第一终端获取目标应用的应用描述,如“中心图片验证”,获取目标应用的存储应用名,如“project-ops”。第一终端拼接目标应用的应用描述与存储应用名,得到标识字符串,如“中心图片验证project-ops”,然后,根据标识字符串,生成相应配置文件的文件标识。例如,第一终端得到标识字符串后,按顺序将标识字符串中的每个字符转换成二进制码片段,拼接各个二进制码片段,得到二进制码,将二进制码进行运算,如进行哈希运算,得到文件标识。
上述一种配置信息处理方法,由于不同应用的应用描述不同,因此即使在存储应用名相同的情况下,生成的文件标识也不同,从而可以减少相同存储应用名对服务器的干扰,在接收到第二终端发送的文件标识后,就能将对应的配置文件返回至第二终端。
在一个实施例中,该方法还包括:当角色为第一角色时,获取包含检索应用名的全部存储应用名关联的配置文件;对获取的配置文件中访问属性为目标属性的配置项密文展示,对获取的配置文件中访问属性为其他属性的配置项明文展示。
具体地,第一终端根据检索应用名与用户的角色生成配置文件读取指令,并将配置文件读取指令发送至服务器。服务器接收配置文件读取指令,从配置文件读取指令中提取检索应用名和用户角色。当服务器确定当前触发读取操作的用户的角色为第一角色时,服务器根据检索应用名,从全部存储目录中筛选出包含检索应用名的存储目录,并读取包含检索应用名的存储目录中的全部配置文件,然后将配置文件发送至第一终端。第一终端接收配置文件,将配置文件解析成对应的配置项,查看每个配置项的访问属性,当配置项的访问属性为目标访问属性,且设置目标访问属性的用户的角色,与当前对配置文件进行读取操作的用户的角色不同时,第一终端根据预设的加密算法,将此配置项替换为相应的密文,当配置项的访问属性不为目标访问属性,或配置项的访问属性为目标访问属性,但是设置目标访问属性的用户的角色,与当前对配置文件进行读取操作的用户的角色不相同时,第一终端保留此配置项,然后展示全部配置项。
例如,目标访问属性为加密访问属性,第一角色为开发人员角色,对应的角色标识为“cre”,第二角色为运维人员角色,对应的角色标识为“ops”,目标应用的初始应用名和检索应用名均为“project”,服务器根据用户的角色和初始应用名,生成存储目录“..\project-cre”,用于存储开发人员角色上传的普通配置文件;“..\project-ops”,用于存储运维人员上传的敏感配置文件。当服务器确定当前对配置文件进行读取操作的用户的角色为开发人员角色时,可以认为此时的用户能够读取包含检索应用名的全部存储应用名关联的配置文件,但是无权读取敏感配置项中的配置值。服务器从存储目录中查询包含检索应用名“project”的存储目录中的配置文件,即服务器读取存储目录为“..\project-cre”和“..\project-ops”中的配置文件,然后将配置文件发送至第一终端。第一终端接收配置文件,将配置文件进行解析,当配置项的访问属性为加密访问属性,且设置加密访问属性的用户的角色为运维人员角色时,第一终端将此配置项进行加密显示,其余配置项明文显示。
上述一种配置信息处理方法,通过判断用户的角色是否为第一角色,当用户的角色为第一角色时,才获取包含检索应用名的全部存储应用名关联的配置文件,并对配置文件中的敏感配置项进行密文展示,使得第一用户可以根据敏感配置项中的配置名,创建虚拟配置值,得到虚拟配置项,从而能够根据虚拟配置项对项目进行功能测试。
在一个实施例中,该方法还包括:当角色为第二角色时,获取包含检索应用名以及角色对应角色标识的存储应用名所关联的配置文件;对获取的配置文件中的配置项明文展示。
具体地,服务器接收配置文件读取指令,从配置文件读取指令中提取检索应用名和用户角色。当服务器确定当前触发读取操作的用户的角色为第二角色时,服务器从全部存储目录中筛选包含检索应用名和与第二角色对应的角色标识的存储目录,然后,读取包含检索应用名和与第二角色对应的角色标识的存储目录中的配置文件,将配置文件发送至第一终端。第一终端接收配置文件,将配置文件进行解析后明文展示。
例如,当用户的角色为运维人员角色时,服务器根据运维人员的角色标识“ops”和检索应用名“project”,从存储目录中查询同时包含检索名和角色标识的存储目录下的配置文件,即服务器获取“..\project-ops”中的配置文件。当服务器查询到对应的配置文件后,将配置文件发送至第一终端。第一终端接收配置文件,并解析配置文件,生成配置项,由于“..\project-ops”存储目录中的配置文件是由运维人员上传的,因此运维人员读取的是自身上传的配置文件,所以第一终端直接明文显示全部配置项。
上述一种配置信息处理方法,通过判断用户的角色是否为第二角色,当用户的角色为第二角色时,才获取包含检索应用名和与第二角色对应的角色标识的存储目录中的配置文件,并直接将配置文件中的配置项明文显示,使得第二用户可以方便快捷地查看敏感配置项中的配置信息。
在一个实施例中,如图6所示,提供了一种配置信息处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S610,接收第一终端发送的配置读取请求;配置读取请求携带了用户标识和目标应用的应用名。
具体地,当用户在第一终端发起对目标应用的配置的读取操作时,第一终端获取用户的用户角色,并根据用户的角色生成相应的角色标识,然后根据角色标识和目标应用名生成配置读取请求,并将配置读取请求发送至服务器。
步骤S620,确定用户标识对应的角色。
具体地,服务器获取配置读取请求,从配置读取请求中提取用户的用户标识。
步骤S630,根据角色及应用名,获取目标应用的配置文件,将配置文件中访问属性为目标属性的配置项替换为相应的密文。
步骤S640,将完成密文替换的配置文件发送至第一终端。
具体地,服务器根据用户的角色和应用名,从对应的存储目录中读取配置文件。服务器对配置文件进行解析,得到配置项。服务器查看每个配置项的访问属性和设置访问属性的用户角色,当访问属性为目标访问属性,且设置访问属性的用户角色与当前进行读取操作的用户的角色不相同时,服务器将访问属性为目标访问属性的配置项替换为相应的密文,然后,将密文和其余配置项发送至第一终端。
本实施例中,通过获取进行读取操作的用户的角色和目标应用的应用名,可以根据角色和应用名获取配置文件;通过获取配置项的访问属性,可以将访问属性为目标属性的配置项替换为相应的密文,然后发送至第一终端。
由于服务器可以根据配置项的访问属性,选择将配置项替换成相应的密文,因此相比于传统的从项目维度进行权限分配,上述配置信息处理方法,可以从配置项的维度保护配置项的安全,从而能够对配置文件进行更细粒度的权限分配,进而提升了业务系统的安全性。
在其中一个实施例中,该方法还包括:对第一终端发送的目标应用的存储应用名、配置文件及文件标识进行关联存储;向第二终端发送基于文件标识生成的配置更新指令;当接收到第二终端根据配置更新指令在目标应用触发的配置更新请求时,根据预存储的文件标识对第二终端进行权限验证,在验证通过后将目标应用的应用名关联的全部配置文件返回至第二终端。
其中,服务器具有根据存储应用名生成的存储目录。
具体地,当服务器接收第一终端发送的目标应用的存储应用名、配置文件及文件标识时,服务器查看是否已经存在与存储应用名对应的存储目录,当不存在与存储应用名对应的存储目录时,服务器根据存储应用名创建对应的存储目录,然后,将配置文件存储于与存储目录对应的内存中,并将配置文件的存储目录与接收到的文件标识存储于数据表中。服务器向第二终端发送基于文件标识生成的配置更新指令,用以通知第二终端目标应用的配置文件已更新。第二终端接收配置更新指令,从配置更新指令中提取文件标识。当发生对目标应用触发的配置更新请求时,第二终端将文件标识发送至服务器,服务器接收文件标识,在数据表中查看是否存在此文件标识,当存在此文件标识时,服务器对文件标识进行反向解码,得到存储应用名,并从存储应用名中提取初始应用名,从包含初始应用名的存储目录中提取配置文件,将配置文件全部发送至第二终端,或将全部配置文件中的用户重新上传的配置文件发送至第二终端。
上述一种配置信息处理方法,由于服务器对第一终端发送的目标应用的存储应用名、配置文件及文件标识进行关联存储,因此在服务器接收到第二终端发送的文件标识时,能够根据文件标识确定配置文件,从而将对应的配置文件返回至第二终端,进而减少了发送错误的配置文件至第二终端的概率。
为了便于本领域技术人员的理解,如图7所示,提供了一种第一用户通过第一终端读取配置的具体流程示意图。其中第一用户可以是第一角色的用户,如开发人员。图8是第一终端中环境设置界面,环境是描述应用在开发、使用的时候所依赖的工具的集合,如操作系统、数据库系统、WEB服务系统的集合。应用在不同阶段所依赖的环境也不同,在开发阶段依赖开发环境,在测试阶段依赖测试环境,在生产阶段依赖生产环境。用户在上传目标应用的配置文件时,可以根据目标应用所在环境,在第一终端的环境设置页面下创建与目标应用相关联的环境目录,用户通过此环境目录上传对应的配置文件。例如,生产环境中,常常会有一些敏感配置,不希望开发人员直接查看,而是有专门的运维人员管理,则在如图9所示的目标应用存储目录创建界面,开发人员根据初始应用名project1,创建一个用于存储普通配置文件的目录project1,运维人员根据存储应用名project1-ops,创建一个存储敏感配置文件的目录project1-ops。普通配置文件和敏感配置文件属于同一个应用。然后,开发人员和运维人员在如图10所示的环境创建界面,分别为project1和project1-ops创建配置环境prod。开发人员通过project1中的prod环境目录添加普通配置文件,运维人员通过project1-ops应用的prod环境目录添加敏感配置文件。第一终端根据project1和prod生成与project1对应的环境标识,根据project1-ops和prod生成与project1-ops对应的环境标识,然后将两个环境标识和普通配置文件与敏感配置文件发送至服务器。服务器接收配置文件和环境标识,并将环境标识与配置文件对应存储。
当开发人员需要读取project1在prod环境中的配置文件时,开发人员在第一终端的搜索框中输入project1和prod,然后第一终端将根据project1和prod生成的环境标识发送至服务器。服务器接收环境标识,根据环境标识在数据库中查询与该环境标识对应的配置文件。服务器解析环境标识得到对应的应用名project1,并判断当前应用名是否有角色标识,在当前应用名未添加角色标识时,自动为当前应用名添加角色标识,得到project1-ops。服务器根据project1-ops获取与project1-ops对应的环境标识,并根据环境标识查询对应的配置文件。然后服务器解析配置文件,将配置项中访问属性为加密访问属性的配置项替换成相应的密文,并发送至第一终端。第一终端接收全部配置项,明文或密文显示配置项。
为了便于本领域技术人员的理解,如图11所示,提供了一种第二终端读取配置流程图。第二终端在目标应用启动后,自动连接服务器,并向服务器提交文件标识、IP地址、端口号和初始应用名。服务器接收文件标识、IP地址、端口号和初始应用名,并验证文件标识是否与预先存储的文件标识一致,当文件标识与预先存储的文件标识一致时,服务器查询包含初始应用名的全部存储应用名关联的存储目录,根据存储目录,从数据库中获取配置文件。当配置项的访问属性为加密访问属性时,数据库加密存储此配置项。服务器对加密存储的配置文件进行解密,根据IP地址、端口号,将解密后的配置项发送至第二终端。第二终端接收配置项,根据配置项渲染目标应用。
在一个实施例中,如图12所示,提供了一种配置信息处理装置,包括:检索应用名获取模块1201、角色获取模块1202、配置文件获取模块1203、配置项显示模块1204,其中:
检索应用名获取模块1201,用于获取对目标应用进行配置读取操作所产生的目标应用的检索应用名。
角色获取模块1202,用于确定触发配置读取操作的用户的角色。
配置文件获取模块1203,用于根据角色及检索应用名获取目标应用的配置文件。
配置项显示模块1204,用于根据配置文件中配置项的访问属性对相应配置项进行明文或密文展示。
在一个实施例中,该装置还包括配置文件存储模块1205,用于根据对目标应用的配置存储操作,获取目标应用的初始应用名及配置文件;确定触发所述配置存储操作的用户的角色;根据所述角色,在所述目标应用的初始应用名中添加角色标识得到存储应用名,或直接将所述初始应用名确定为存储应用名;基于对所述配置文件中配置项的加密操作,确定配置项的访问属性;将存储应用名与包含访问属性的配置文件对应存储。
在一个实施例中,配置文件存储模块1205包括发布模块1251,用于当发生对配置文件的发布操作时,获取目标应用所对应的应用描述;拼接应用描述与存储应用名,得到标识字符串;根据标识字符串,生成相应配置文件的文件标识。基于存储应用名生成配置文件的文件标识;将文件标识、存储应用名以及包含访问属性的配置文件关联存储至服务器,以使服务器将文件标识发送至第二终端,并在接收到第二终端基于目标应用发送的配置更新请求时,根据预存储的文件标识对第二终端进行权限验证,在验证通过后将目标应用的应用名关联的全部配置文件返回至第二终端。
在一个实施例中,配置文件获取模块1203包括第一角色获取模块1231,用于当角色为第一角色时,获取包含检索应用名的全部存储应用名关联的配置文件;根据配置文件中配置项的访问属性对相应配置项进行明文或密文展示包括:对获取的配置文件中访问属性为目标属性的配置项密文展示,对获取的配置文件中访问属性为其他属性的配置项明文展示。
在一个实施例中,配置文件获取模块1203还包括第一角色获取模块1232,用于当角色为第二角色时,获取包含检索应用名以及所述角色对应角色标识的存储应用名所关联的配置文件;根据配置文件中配置项的访问属性对相应配置项进行明文或密文展示包括:对获取的配置文件中的配置项明文展示。
在一个实施例中,如图13所示,提供了另一种配置信息处理装置,包括:配置读取请求接收模块1301、角色获取模块1302、配置文件获取模块1303,其中:
配置读取请求接收模块1301,用于接收第一终端发送的配置读取请求;配置读取请求携带了用户标识和目标应用的应用名。
角色获取模块1302,用于确定用户标识对应的角色。
配置文件获取模块1303,用于根据角色及应用名,获取目标应用的配置文件,将配置文件中访问属性为目标属性的配置项替换为相应的密文;将完成密文替换的配置文件发送至第一终端。
在一个实施例中,该装置还包括配置更新模块1304,用于对第一终端发送的目标应用的存储应用名、配置文件及文件标识进行关联存储;向第二终端发送基于文件标识生成的配置更新指令;当接收到第二终端根据配置更新指令在目标应用触发的配置更新请求时,根据预存储的文件标识对第二终端进行权限验证,在验证通过后将目标应用的应用名关联的全部配置文件返回至第二终端。
关于配置信息处理装置的具体限定可以参见上文中对于配置信息处理方法的限定,在此不再赘述。上述配置信息处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述提供的配置信息处理装置可用于执行上述任意实施例提供的配置信息处理方法,具备相应的功能和有益效果。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是第一终端端,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种配置信息处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取对目标应用进行配置读取操作所产生的目标应用的检索应用名;
确定触发配置读取操作的用户的角色;
根据角色及检索应用名获取目标应用的配置文件;
根据配置文件中配置项的访问属性对相应配置项进行明文或密文展示。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收第一终端发送的配置读取请求;配置读取请求携带了用户标识和目标应用的应用名;
确定用户标识对应的角色;
根据角色及应用名,获取目标应用的配置文件,将配置文件中访问属性为目标属性的配置项替换为相应的密文;
将完成密文替换的配置文件发送至第一终端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取对目标应用进行配置读取操作所产生的目标应用的检索应用名;确定触发配置读取操作的用户的角色;
根据角色及检索应用名获取目标应用的配置文件;
根据配置文件中配置项的访问属性对相应配置项进行明文或密文展示。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据对目标应用的配置存储操作,获取目标应用的初始应用名及配置文件;
确定触发配置存储操作的用户的角色;
根据角色,在目标应用的初始应用名中添加角色标识得到存储应用名,或直接将初始应用名确定为存储应用名;
基于对配置文件中配置项的加密操作,确定配置项的访问属性;
将存储应用名与包含访问属性的配置文件对应存储。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收第一终端发送的配置读取请求;配置读取请求携带了用户标识和目标应用的应用名;
确定用户标识对应的角色;
根据角色及应用名,获取目标应用的配置文件,将配置文件中访问属性为目标属性的配置项替换为相应的密文;
将完成密文替换的配置文件发送至第一终端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。