***操作权限的控制方法、装置及存储介质
技术领域
本发明涉及计算机控制领域,尤其涉及***操作权限的控制方法、装置及存储介质。
背景技术
***如web***主要用于建立使用者和***资源的联系,使用者是否有权使用***资源通过***控制实现,其中,***操作权限控制是控制用户是否有权操作***页面中的操作按钮。
***操作权限控制的通过包含有操作按钮编码的页面编码库和操作权限编码库关联实现,目前***操作权限控制方法中,操作权限编码库普遍是由包含了***所有的操作的表A和保存有用户角色等级信息的操作权限的表B组成,当某些操作权限进行了修改时,需要手动修改操作权限编码库中的表A,才能操作权限编码库与页面按钮的一致性,降低了用户体验。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种***操作权限的控制方法,旨在解决当前***操作权限控制中操作权限修改时需要手动修改操作权限编码库,影响用户体验的问题。
为实现上述目的,本发明提供一种***操作权限的控制方法,其特征在于,所述***操作权限的控制方法包括以下步骤:
当接收到页面访问请求时,获取所述页面访问请求对应的页面;
获取所述页面中的操作按钮的属性;
根据所述操作按钮的属性更新操作权限编码库中相应的编码,以使所述操作权限编码库中的编码与所述页面中操作按钮匹配。
优选地,所述操作按钮的属性包括所述操作按钮的标识信息和权限信息。
优选地,所述当接收到页面访问请求时,获取所述页面访问请求对应的页面的步骤之后,还包括:
获取用户的等级信息;
根据所述用户的等级信息获取所述用户的操作权限;
根据所述用户的操作权限将所述用户有操作权限的操作按钮在所述页面上进行显示。
优选地,所述根据所述用户的操作权限将所述用户有操作权限的操作按钮在所述页面上进行显示的步骤包括:
根据所述用户的操作权限和所述操作按钮的属性判断所述用户是否有权操作所述操作按钮;
当所述用户有权操作所述操作按钮时,将所述操作按钮在所述页面上显示。
优选地,所述当接收到页面访问请求时,获取所述页面访问请求对应的页面的步骤之前,还包括:
当接收到终端发送的登录请求时,判断所述登录请求中包含的用户名和密码是否正确;
当所述用户名和所述密码正确时,向所述终端发送***菜单,以供所述终端基于所述***菜单发送所述访问请求。
优选地,其特征在于,所述当接收到页面访问请求时,获取所述页面访问请求对应的页面的步骤之后,还包括:
获取用户的数据权限配置信息;
根据所述用户的数据权限配置信息获取所述用户拥有的数据列表;
将所述数据列表在所述页面上显示。
优选地,所述根据所述用户的数据权限配置信息获取所述用户拥有的数据列表的步骤包括:
确定所述用户的数据权限配置信息的维度;
获取所述用户的数据权限配置信息在所述维度上的维度值;
根据所述用户的数据权限配置信息的所述维度和所述维度值获取所述用户在每个维度上拥有权限的数据列表;
将所述用户在所述每个维度上拥有权限的数据列表取并集,得到所述用户拥有权限的数据列表。
优选地,所述用户的数据权限配置信息的维度包括所述用户的部门信息和项目信息。
此外,为实现以上目的,本发明还提供一种***操作权限的控制装置,所述***操作权限的控制装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的***操作权限的控制程序,所述***操作权限的控制程序被所述处理器执行时实现如上所述的***操作权限的控制方法的步骤。
此外,为实现以上目的,本发明还提供一种存储介质,所述存储介质上存储有***操作权限的控制程序,所述***操作权限的控制程序被处理器执行时实现如上所述的***操作权限的控制方法的步骤。
本发明实施例提出的***操作权限的控制方法、装置和存储介质,服务器接收到访问请求时,获取所述页面访问请求对应的页面中的所有操作按钮的属性,然后根据获取到的操作按钮的属性更新操作权限编码库中相应的编码,以使所述操作权限编码库中的编码与所述页面中的操作按钮匹配,从而使得操作按钮修改时操作权限编码库能够自动更新,提高了用户体验。
附图说明
图1是本发明实施例方案涉及的***操作权限的控制装置的硬件结构示意图;
图2为本发明***操作权限的控制方法第一实施例的流程示意图;
图3为本发明***操作权限的控制方法第二实施例的流程示意图;
图4为图3中步骤S60的细化流程示意图;
图5为本发明***操作权限的控制方法第三实施例的流程示意图;
图6为本发明***操作权限的控制方法第四实施例的流程示意图;
图7为图6中步骤S100的细化流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:本实施例根据上述方案,服务器接收到访问请求时,获取所述页面访问请求对应的页面中的所有操作按钮的属性,然后根据获取到的操作按钮的属性更新操作权限编码库中相应的编码,以使所述操作权限编码库中的编码与所述页面中的操作按钮匹配,从而使得操作按钮修改时操作权限编码库能够自动更新。
由于现有技术中,当操作权限修改时需要手动修改操作权限编码库中的编码,降低了用户体验。
本发明提供一种解决方案,使得操作按钮修改时操作权限编码库能够自动更新,提高了用户体验。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及***操作权限的控制程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的***操作权限的控制程序,并执行以下操作:
当接收到页面访问请求时,获取所述页面访问请求对应的页面;
获取所述页面中的操作按钮的属性;
根据所述操作按钮的属性更新操作权限编码库中相应的编码,以使所述操作权限编码库中的编码与所述页面中的操作按钮匹配。
进一步地,处理器1001可以调用存储器1005中存储的***操作权限的控制程序,还执行以下操作:
所述操作按钮的属性包括所述操作按钮的标识信息和权限信息。
进一步地,处理器1001可以调用存储器1005中存储的***操作权限的控制程序,还执行以下操作:
获取用户的等级信息;
根据所述用户的等级信息获取所述用户的操作权限;
根据所述用户的操作权限将所述用户有操作权限的操作按钮在所述页面上进行显示。
进一步地,处理器1001可以调用存储器1005中存储的***操作权限的控制程序,还执行以下操作:
根据所述用户的操作权限和所述操作按钮的属性判断所述用户是否有权操作所述操作按钮;
当所述用户有权操作所述操作按钮时,将所述操作按钮在所述页面上显示。
进一步地,处理器1001可以调用存储器1005中存储的***操作权限的控制程序,还执行以下操作:
当接收到终端发送的登录请求时,判断所述登录请求中包含的用户名和密码是否正确;
当所述用户名和所述密码正确时,向所述终端发送***菜单,以供所述终端基于所述***菜单发送所述访问请求。
进一步地,处理器1001可以调用存储器1005中存储的***操作权限的控制程序,还执行以下操作:
获取用户的数据权限配置信息;
根据所述用户的数据权限配置信息获取所述用户拥有的数据列表;
将所述数据列表在所述页面上显示。
进一步地,处理器1001可以调用存储器1005中存储的***操作权限的控制程序,还执行以下操作:
确定所述用户的数据权限配置信息的维度;
获取所述用户的数据权限配置信息在所述维度上的维度值;
根据所述用户的数据权限配置信息的所述维度和所述维度值获取所述用户在每个维度上拥有权限的数据列表;
将所述用户在所述每个维度上拥有权限的数据列表取并集,得到所述用户拥有权限的数据列表。
进一步地,处理器1001可以调用存储器1005中存储的***操作权限的控制程序,还执行以下操作:
所述用户的数据权限配置信息的维度包括所述用户的部门信息和项目信息。
本发明根据上述方案,服务器接收到访问请求时,获取所述页面访问请求对应的页面中的所有操作按钮的属性,然后根据获取到的操作按钮的属性更新操作权限编码库中相应的编码,以使所述操作权限编码库中的编码与所述页面中的操作按钮匹配,从而使得操作按钮修改时操作权限编码库能够自动更新,提高了用户体验。
基于上述硬件构架,提出本发明***操作权限的控制方法的实施例。
参照图2,图2为本发明***操作权限的控制方法第一实施例的流程示意图,所述***操作权限的控制方法包括:
步骤S10,当接收到页面访问请求时,获取所述页面访问请求对应的页面;
本发明***操作权限的控制方法主要用于***的控制,例如可用于web***的控制。***的操作权限是指所有可见操作按钮的操作权限,当用户需要在***上进行操作时,用户登录***,点击***菜单中需要访问的页面的链接,服务器接收到访问请求后根据所述访问请求确定所述用户请求的页面,控制***程序自动进入所述访问请求对应的页面。
步骤S20,获取所述页面中的操作按钮的属性;
服务器确定所述用户请求的页面后,获取用户请求访问的页面中所有操作按钮的属性,所述操作按钮的属性包括所述操作按钮的标识信息和权限信息,其中所述标识信息为也即操作按钮的标识码,用于将按钮标识为关联有操作权限的操作按钮,即当按钮具有标识信息时,表明该按钮为操作按钮;所述权限信息也即操作按钮的权限码,包含有该操作按钮对应的操作和有操作权限的用户的信息,用于与用户的操作权限进行比对以判断用于是否有权操作此按钮,操作按钮的权限信息还用于同一页面中的所有操作按钮需的相互区分,因此页面中所有操作按钮的权限信息互不相同。
例如,在本发明中,页面中操作按钮的标识信息为操作按钮的标识class属性,class属性设置为role_operate_clz,用于将该按钮标识为操作按钮,即若按钮的class属性中包含role_operate_clz,则表示该按钮为操作按钮;权限信息则为操作按钮的opcode属性,是该操作按钮的唯一标识,用于区分页面中的其他按钮,因此操作按钮的opcode属性的code在当前页面内不能重复。
当接收到页面访问请求,获取到访问请求对应的页面后,识别页面的操作按钮,获取操作按钮的class属性和标识opcode属性。具体地,所述页面中所有操作按钮的属性(class属性和标识opcode属性)可以按照以下方法获取:当页面编码库接收到用户的访问请求时,自动生成一个js方法请求,该js方法请求参数包含用户所请求访问页面的所有<a>标签带权限码的操作按钮,即要做成操作权限的<a>标签包含class属性和标识opcode属性,其中class属性为role_operate_clz,操作按钮的code在当前页面不能重复,以将页面内所有操作按钮相互区分。该js方法请求将带了class值包含role_operate_clz的<a>标签的权限码请求到程序后台,使得程序后台获取到该页面所有操作按钮的class属性和标识opcode属性。
步骤S30,根据所述操作按钮的属性更新操作权限编码库中相应的编码,以使所述操作权限编码库中的编码与所述页面中的操作按钮匹配;
本发明提供的***操作权限控制方法中,当操作权限按钮需要进行修改时,维护人员只需修改页面中的操作按钮的编码,即修改操作按钮的属性中的权限信息。当服务器获取到上述页面操作按钮的属性,将其获取到的操作按钮的属性与操作权限编码库中与所述操作按钮对应的操作编码进行一一比对,若存在不同的部分,说明页面中操作按钮的编码进行了修改,则将操作编码库中的编码根据获取页面操作按钮的属性进行更新,以使操作编码库的编码与页面操作按钮编码一致,从而实现操作权限编码库中编码的自动更新。
例如,页面中的每个操作按钮均配置有class属性和标识opcode属性,所有操作按钮的class属性均包含role_operate_clz,而同一页面内操作按钮的opcode属性的code各不相同。当操作按钮需要修改时,维护人员只需手动修改操作按钮的opcode属性。程序后台接收到所述页面发送的js方法请求后,根据该js方法请求中包含的页面所有操作按钮的class属性为role_operate_clz和标识opcode属性,将获取到的操作按钮的opcode属性与操作权限编码库中与所述操作按钮对应的操作编码进行一一比对,当二者不同时,将操作权限编码库中相应的编码按照所述操作按钮的opcode属性的编码数据进行更新,从而实现操作权限编码库中的编码的自动更新。
本实施例根据上述方案,服务器获取到用户的访问请求时,获取用户请求访问的页面中所有操作按钮的属性,然后根据所述操作按钮的属性更新操作权限编码库中的编码,从而使得操作按钮修改时操作权限编码库能够自动更新,提高了用户体验。
进一步的,参照图3,图3是本发明***操作权限控制方法的第二实施例的流程示意图,基于第一实施例,所述获取用户的访问请求,根据所述访问请求确定所述用户请求的页面的步骤之后,还包括:
步骤S40,获取用户的等级信息;
步骤S50,根据所述用户的等级信息获取所述用户的操作权限;
步骤S60,根据所述用户的操作权限将所述用户有操作权限的操作按钮在所述页面上进行显示。
在本发明中,用户的操作权限与用户的等级信息相对应,即根据用户的等级信息来判断用户是否具备某个操作按钮的操作权限。当用户需要在***上进行操作时,用户登录***,点击***菜单中需要访问的页面的链接,服务器接收到访问请求后获取登录的账户中包含的用户的等级信息,然后根据获取到的用户的等级信息,从操作权限编码库中查找出用户的操作权限,然后根据该用户的操作权限,将用户请求访问的页面中有操作权限的操作按钮进行显示,供用户进行操作。需要理解的是,获取用户操作权限并将有操作权限的按钮在页面显示和第一实施例中实现操作权限编码库的自动更新之间没有可以没有先后顺序,即步骤S20和步骤S40之间无先后顺序。优选地,步骤S40在步骤S30之后,即先进行操作权限编码库的自动更新,再获取用户操作权限并将有操作权限的按钮在页面显示。
目前的***操作权限管理中,当获取到用户的操作权限后,需要针对页面中的每一个操作按钮单独设置一个方法程序来判断所述用户是否有权操作此按钮,非常繁琐。因此,优选地,在本实施例提供的技术方案中,在获取到所述用户的操作权限后,通过将所述操作权限与用户请求页面中的操作按钮的代码及权限码进行循环比对,从而获得用户请求页面中有权访问的操作按钮,并进行显示供用户进行操作,具体地,请参照图4,即所述步骤S60包括:
步骤S61,将所述用户的操作权限与所述操作按钮的属性进行比对,判断所述用户是否有权操作所述操作按钮;
步骤S62,当所述用户有权操作所述操作按钮时,将所述操作按钮在所述页面上显示。
本发明提供的技术方案中,页面内每个操作按钮均配置有标识信息,只需要将通过将获取到的用户的操作权限与所述操作按钮的权限码进行比对,即可判断用户对该操作按钮是否具备操作权限,而无需为每个页面均配置一张操作表。具体地,页面内的每个权限操作按钮均配置有class属性和标识opcode属性,其中class为role_operate_clz,操作按钮的code在当前页面不能重复,以将页面内所有操作按钮相互区分。当根据用户的信息获取到用户的操作权限后,通过一js方法识别页面中的操作按钮,获取操作按钮的属性,并将获取到的用户操作权限与所述操作按钮的属性比对,如果所述用户有权操作所述按钮,则将所述操作按钮在所述页面上显示,如果户无权操作所述按钮,则将所述按钮在所述页面上隐藏,如此完成页面所有按钮的比对,将用户在该页面具有操作权限的所有操作按钮进行显示,从而实现用户操作权限的配置。
本实施例中,获取用户的等级信息,然后根据用户的等级信息获取所述用户的操作权限,并将有操作权限的操作按钮在页面上显示,从而实现用户操作权限的配置。
参照图5,图5是本发明***操作权限控制方法第三实施的流程示意图,基于第一和第二实施例,所述获取用户的访问请求,根据所述访问请求确定所述用户请求的页面的步骤之前,还包括:
步骤S70,当接收到终端发送的登录请求时,判断所述登录请求中包含的用户名和密码是否正确;
步骤S80,当所述用户名和所述密码正确时,向所述终端发送***菜单,以供所述终端基于所述***菜单发送所述访问请求。
用户需要访问***时,首先需要验证用户的身份信息,此时需要用户在***登录页面分别输入用户名和密码进行登录,服务器获取用户输入的用户名和密码后,将其与预存的用户名和密码进行比对,当所述用户输入的用户名和密码中至少一种与所述预存的用户名和密码不一致时,判定所述用户输入的用户名或/和密码不正确,则提示用户所输入的用户名或密码错误,需要重新输入用户名和密码。
当所述用户输入的用户名和密码与所述预存的用户名和密码一致时,判定所述用户输入的用户名和密码正确,用户登录成功,服务器向终端发送***菜单,终端显示界面跳转至***菜单,用户点击***菜单即可请求访问页面。
本实施例中,当用户需要访问***时,首先判断用户输入的用户名和密码是否正确,当用户输入的用户名和密码正确时才获取用户的访问请求,保证了***的安全性。
参照图6,图6是本发明***操作权限控制方法第四实施的流程示意图,基于第一至第三实施例,所述获取用户的访问请求,根据所述访问请求确定用户请求的页面的步骤之后,还包括:
步骤S90,获取用户的数据权限配置信息;
步骤S100,根据所述用户的数据权限配置信息获取所述用户拥有的数据列表;
步骤S110,将所述数据列表在所述页面上显示。
***的权限,除了操作权限之外,还包括数据权限,所述操作权限控制用户对页面中的操作按钮是否有权操作,所述数据权限控制用户对页面中哪些数据有权访问。
当用户登录***,所输入的用户名和密码验证正确后,***跳转至操作界面,点击***菜单中需要访问的页面的链接,服务器接收到访问请求后根据所述访问请求确定所述用户请求的页面,控制***程序自动进入所述访问请求对应的页面,将用户的操作权限按照实施例1至3中的方法进行配置的同时,还需对用户的数据权限进行配置,从而实现完整的***权限的控制。当***程序自动进入所述访页面问请求对应的页面后,服务器获取登录的账户中包含的用户的数据权限配置信息,然后根据用户的数据权限配置信息从数据权限库中获取用户拥有的数据列表,并将其在页面上进行显示,从而使得用户访问页面时既显示用户有权限访问的操作按钮,又显示用户有权访问的数据,同时实现***操作权限和数据权限的控制。可以理解的是,实现操作权限数据库更新、操作权限配置和数据权限控制的步骤并无先后顺序,即步骤S20、步骤S40和步骤S90三者间均无先后顺序。
本发明中,为了实现数据权限的多维度控制,可对用户的数据权限进行多维度配置,当获取当用户的数据权限配置信息时,获取用户的数据权限配置信息的维度,进一步获取用户在该维度上拥有权限的数据列表。具体地,参照图7,即所述步骤S100包括:
步骤S101,确定所述用户的数据权限配置信息的维度;
步骤S102,获取所述用户的数据权限配置信息在所述维度上的维度值;
步骤S103,根据所述用户的数据权限配置信息的所述维度和所述维度值获取所述用户在每个维度上拥有权限的数据列表;
步骤S104,将所述用户在所述每个维度上拥有权限的数据列表取并集,得到所述用户拥有权限的数据列表。
在目前的***数据权限控制中,一般是根据用户所在部门进行权限配置,即用户登录之后,***获取此用户的部门信息,根据其部门信息过滤其他部门的数据,只显示用户所在部门的数据,达到数据权限控制效果。如此的数据权限控制方法效果单一,只能从部门这一个维度进行控制。为了能够从多个维度对用户的操作权限进行配置,在本发明中,用户的数据权限配置信息可以具有多个维度,所述维度的数据权限配置信息为用户的属性,每个维度都对应各自的权限组,可以理解的是,数据权限配置信息的维度可根据实际需要进行设置,在此不做具体限制。例如,优选地,用户的数据权限配置信息可以包括用户的部门信息和项目信息两个维度。进一步的,每个维度的数据权限配置信息均可以包含不同的维度值,所述维度值可根据实际情况自行设置,在此不做具体限制。例如,部门信息可以包括硬件部门、软件部门、行政部门等,项目信息可包括项目一、项目二、项目三等,需要理解的是,部门信息中部门的种类和项目信息中项目的种类均可根据实际需要进行自行设置,在此不做具体限制。用户每个维度的数据权限配置信息的不同维度值都对应各自的权限集,即不同部门有各自的数据权限集,不同的项目也有各自的数据权限集。
当获取到用户的访问请求时,判断用户的数据权限配置信息的维度,然后获取用户在每个维度上的维度值,再根据维度和用户在该维度上的维度值获取用户在每个维度上拥有的数据权限集,将获取到的用户在每个维度上的数据权限集取并集,即得到用户所拥有的数据权限集,根据用户所拥有的数据权限集即可获得用户有权访问的数据列表。
例如,当获取到用户的访问请求时,服务器根据用户信息判断得到当前用户在部门和项目两个维度上均拥有数据权限,则获取当前用户拥有权限的部门列表,每个部门均关联有可访问的数据,即可根据用户拥有的部门列表关联查询出数据列表,得到用户在部门维度上拥有的数据列表(也即部门数据权限集);同时获取当前用户拥有权限的项目列表,每个项目均关联有可访问的数据,即可根据用户拥有的项目列表关联查询出数据列表,得到用户在项目维度上拥有的数据列表(也即项目数据权限集);将用户在部门维度上拥有的数据列表和项目维度上拥有的数据列表合并/取并集(即将用户的部门数据权限集和项目数据权限集取并集)即得到用户拥有的数据权限列表(即用户的数据权限集),将该用户拥有的数据权限列表传输至用户所在终端在页面上显示,从而实现了从用户的部门和项目两个维度上对用户的数据权限进行了控制。
本实施提供的技术方案,在获取到用户的访问请求,获取到用户请求访问的页面时,获取用户的数据权限配置信息,根据用户的数据权限配置信息获取到用户的有权访问的数据列表,并在页面上进行显示,从而能够实现***的数据权限控制。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有***操作权限的控制程序,所述***操作权限的控制程序被处理器执行时实现如上实施例所述的***操作权限的控制方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。