专利名称:一种与应用业务分离的权限控制方法、系统及装置的利记博彩app
技术领域:
本发明涉及计算机互联网技术,尤其涉及web应用系统,特别涉及一种与应用业务分离的权限控制方法、系统及装置。
背景技术:
权限模块一直以 来都是web应用系统不可缺少的部分,大多数的权限控制过程采用的是以下两种方式方式一是通过应用模块来对权限用户进行分配和关联。方式二是在所有需要权限控制的模块中,通过权限管理模块来读取当前用户的权限,根据权限的属性来控制用户的权限。上述的两种方式,应用模块与权限控制模块关联得太紧密,无法将权限控制模块有效地复用到其他应用系统中,导致开发人员重复做大量类似的工作。并且,如果应用系统在最初设计时没有权限管理的功能,那么在以后应用系统需要增加权限管理功能时,再增加权限模块的设计和实现的工作量就变得相当巨大且存在很高的风险。对于web应用系统也同样存在上述问题。
发明内容
本发明提供了一种与应用业务分离的权限控制方法、系统及装置,可以方便地实现权限控制的复用以降低开发成本和风险。本发明实施例提供的一种与应用业务分离的权限控制方法,包括如下步骤A、将网页上至少一个需要权限控制的功能点发送到服务器;B、服务器将所收到需要权限控制的功能点与当前访问者的权限进行对比,判断是否允许当前访问者使用所述功能点,并将判断结果发送至客户端;C、客户端根据所述判断结果,显示允许当前访问者使用的功能点,隐藏不允许当前访问者使用的功能点。较佳地,步骤A包括将网页上包含需要权限控制的功能点属性的标签控件存储到第一数组中,将网页中需要权限控制的功能点存储到第二数组中,并将第二数组发送到服务器。较佳地,步骤B包括Bi、服务器向数据库查询当前访问者的权限,将查询得到权限元素存储到第三数组中,并在服务器创建一个与第二数组的元素的总数相同的第四数组;B2、服务器将第二数组中每个功能点与第三数组中的每一个权限元素进行对比, 当第二数组某个位置的功能点与第三数组中的任何一个权限元素对比结果相同时,将与第二数组所述位置对应的第四数组的相应位置的值设置为逻辑真,否则将第四数组的相应位置的值设置为逻辑假;B3、对比完成后,服务器向客户端返回第四数组。
较佳地,步骤C包括 客户端将第一数组中每一个元素的隐藏属性设置成与第四数组中与所述元素对应的逻辑值相反的逻辑值。本发明实施例提出一种与应用业务分离的权限控制系统,该权限控制系统包括客户端和服务器,所述客户端用于将网页上至少一个需要权限控制的功能点发送到服务器;以及根据来自服务器的判断结果,显示允许当前访问者使用的功能点,隐藏不允许当前访问者使用的功能点;所述服务器将所收到需要权限控制的功能点与当前访问者的权限进行对比,判断是否允许当前访问者使用所述功能点,并将判断结果发送至客户端。较佳地,所述客户端包括第一数组处理模块,用于将网页上包含需要权限控制的功能点属性的标签控件存储到第一数组中;第二数组处理模块,用于将网页中需要权限控制的功能点存储到第二数组中,并将第二数组发送到服务器。较佳地,所述服务器包括第三数组处理模块,用于向数据库查询当前访问者的权限,将查询得到权限元素存储到第三数组中;第四数组处理模块,用于创建一个与第二数组的元素的总数相同的第四数组,当权限控制模块对比完成后,向客户端返回第四数组;权限控制模块,用于将第二数组中每个功能点与第三数组中的每一个权限元素进行对比,当第二数组某个位置的功能点与第三数组中的任何一个权限元素对比结果相同时,将与第二数组所述位置对应的第四数组的相应位置的值设置为逻辑真,否则将第四数组的相应位置的值设置为逻辑假。较佳地,所述客户端包括显示模块,用于将第一数组中每一个元素的隐藏属性设置成与接收自服务器的第四数组中与所述元素对应的逻辑值相反的逻辑值。本发明实施例提出一种客户端,包括第一数组处理模块,用于将网页上包含需要权限控制的功能点属性的标签控件存储到第一数组中;第二数组处理模块,用于将网页中需要权限控制的功能点存储到第二数组中,并将第二数组发送到服务器;显示模块,用于将第一数组中每一个元素的隐藏属性设置成与接收自服务器的第四数组中与所述元素对应的逻辑值相反的逻辑值。本发明实施例还提出一种服务器,包括第三数组处理模块,用于向数据库查询当前访问者的权限,将查询得到权限元素存储到第三数组中;第四数组处理模块,用于创建一个与第二数组的元素的总数相同的第四数组,当权限控制模块对比完成后,向客户端返回第四数组;
权限控制模块,用于将第二数组中每个功能点与第三数组中的每一个权限元素进行对比,当第二数组某个位置的功能点与第三数组中的任何一个权限元素对比结果相同时,将与第二数组所述位置对应的第四数组的相应位置的值设置为逻辑真,否则将第四数组的相应位置的值设置为逻辑假。从以上技术方案可以看出,在应用业务只需指定标签控件的功能点,通过本发明提供的权限控制分离框架统一进行权限控制处理,进而实现权限控制与应用业务的分离。 这样, 不仅使代码的结构更加清晰而易于后期的管理与维护,还提供了权限控制的易操作性以及在没有处理权限的web应用系统中增加权限模块的易扩展性和低风险等好处。
图1为本发明提出的与应用业务分离的权限控制方法的实现流程示意图;图2为本发明方案的部署过程示意图;图3为本发明实施例实现控制权限分离逻辑的流程图。
具体实施例方式本发明提出的与应用业务分离的权限控制方法的实现流程如图1所示,主要包括以下步骤步骤101 将网页上包含功能点属性的标签控件(如按钮包含添加用户的属性) 存储到数组A中,将功能点存储到数组B中,并将数组B发送到服务器。步骤102 服务器向数据库查询当前访问者的权限,将查询得到权限元素存储到数组C中,并在服务器创建一个与数组B元素的总数相同的数组D。步骤103 服务器将数组B中每个功能点与数组C中的每一个权限元素进行对比, 以确定当前用户在数据库中是否有功能点所对应的权限。当数组B某个位置的功能点与数组C中的任何一个权限元素对比结果相同时,就将与数组B所述位置对应的数组D的相应位置的值设置为逻辑真(TRUE,可以用字符1表示),否则就将数组D的相应位置的值设置为逻辑假(FALSE,可以用字符0表示)。步骤104 对比完成后,由服务器向客户端返回数组D(返回的是数组D的字符串内容)。步骤105 客户端将接收数组D,然后将数组A中第η个元素(功能点的标签控件) 的隐藏属性设置成与数组D第η个元素相反的逻辑值(TRUE相反的值为FALSE),从而隐藏网页上与当前用户不具备的权限相关的标签控件(如网页上的“按钮”)。本发明方案的部署过程如图2所示,包括如下步骤步骤201 在网页中引入权限分离控制框架的文件。步骤202 网页加载后统一调用权限控制分离框架的添加功能点及相关标签控件的方法,其作用是将包含功能点的标签控件和功能点分别存放到此框架的数组A、B中,从而让权限控制分离框架来处理网页上相关标签控件的隐藏等操作。步骤203 在需要分离权限控制的标签上增加一个额外属性,其属性值为相应的功能点。本发明实施例示例性地采用脚本语言(例如javascript)来实现控制权限分离逻辑。具体步骤如图3所示,包括如下步骤 步骤301 将包含功能点的标签控件(如网页上的“添加用户信息”、“查询用户信息”按钮)存储到数组A中,将功能点(如添加用户、查询用户)一一对应地存储到数组B 中。步骤302 向服务器发送HTTP请求。将数组B的内容传送给服务器。步骤303 服务器到数据库查询当前访问者的权限信息,将查询的结果(“浏览用户信息”、“查询用户”权限)存储在数组C中。在服务器创建一个与数组B同样大小(元素的总数相同)的数组D。步骤304 将数组B中的每一个功能点与数组C的每一个元素进行对比,根据对比结果设置数组D的值。当数组B某个位置的功能点(如第二个位置上的“查询用户”)与数组C中的任何一个元素对比结果相同时,就将数组D与数组B —一对应的位置处(数组D的第二个位置) 的值设置为TRUE,否则就将其设置为FALSE (如数组D的第一个位置上的值就为FALSE)。步骤305 在数组B中的每一个功能点都和数组C的每一个元素都进行了对比之后,就得到一个与数组B大小相同且每个元素值为TRUE或FALSE的数组D (如[FALSE, TRUE])。服务器就向客户端返回数组D的字符串内容。步骤306 客户端将从服务器接收到的数组D的字符串内容转换为数组E,然后将数组A中第η个元素的隐藏属性设置成与数组E第η个元素的相反的值(TRUE相反的值为 FALSE)。这样就对网页上与当前用户不具备的权限相关的标签控件(如“添加用户”按钮) 进行了隐藏操作。从而使访问者不法进行自己没有权限的操作,达到权限控制分离的效果。本发明实施例还提出一种与应用业务分离的权限控制系统,该权限控制系统包括客户端和服务器,所述客户端用于将网页上至少一个需要权限控制的功能点发送到服务器;以及根据来自服务器的判断结果,显示允许当前访问者使用的功能点,隐藏不允许当前访问者使用的功能点;所述服务器将所收到需要权限控制的功能点与当前访问者的权限进行对比,判断是否允许当前访问者使用所述功能点,并将判断结果发送至客户端。较佳地,所述客户端包括第一数组处理模块,用于将网页上包含需要权限控制的功能点属性的标签控件存储到第一数组中;第二数组处理模块,用于将网页中需要权限控制的功能点存储到第二数组中,并将第二数组发送到服务器;显示模块,用于将第一数组中每一个元素的隐藏属性设置成与接收自服务器的第四数组中与所述元素对应的逻辑值相反的逻辑值。较佳地,所述服务器包括第三数组处理模块,用于向数据库查询当前访问者的权限,将查询得到权限元素存储到第三数组中;第四数组处理模块,用于创建一个与第二数组的元素的总数相同的第四数组,当权限控制模块对比完成后,向客户端返回第四数组;
权限控制模块,用于将第二数组中每个功能点与第三数组中的每一个权限元素进行对比,当第二数组某个位置的功能点与第三数组中的任何一个权限元素对比结果相同时,将与第二数组所述位置对应的第四数组的相应位置的值设置为逻辑真,否则将第四数组的相应位置的值设置为逻辑假。 本发明提供了一种在web应用系统中将应用业务和权限控制分离的简便方法,在应用业务只需指定标签控件的功能点(如添加用户),在网页加载后通过本发明提供的权限控制框架统一进行权限控制处理,进而实现权限控制与应用业务的分离。这样,不仅使代码的结构更加清晰而易于后期的管理与维护,还提供了权限控制的易操作性以及在没有处理权限的web应用系统中增加权限模块的易扩展性和低风险等好处。并且此权限控制分离框架还能够进行有效地复用到其它的web应用系统中,提高了此框架的复用性。从而有效地解决了背景技术中所提出的问题。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如 ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种与应用业务分离的权限控制方法,其特征在于,包括如下步骤A、将网页上至少一个需要权限控制的功能点发送到服务器;B、服务器将所收到需要权限控制的功能点与当前访问者的权限进行对比,判断是否允许当前访问者使用所述功能点,并将判断结果发送至客户端;C、客户端根据所述判断结果,显示允许当前访问者使用的功能点,隐藏不允许当前访问者使用的功能点。
2.根据权利要求1所述的方法,其特征在于,步骤A包括将网页上包含需要权限控制的功能点属性的标签控件存储到第一数组中,将网页中需要权限控制的功能点存储到第二数组中,并将第二数组发送到服务器。
3.根据权利要求2所述的方法,其特征在于,步骤B包括Bi、服务器向数据库查询当前访问者的权限,将查询得到权限元素存储到第三数组中, 并在服务器创建一个与第二数组的元素的总数相同的第四数组;B2、服务器将第二数组中每个功能点与第三数组中的每一个权限元素进行对比,当第二数组某个位置的功能点与第三数组中的任何一个权限元素对比结果相同时,将与第二数组所述位置对应的第四数组的相应位置的值设置为逻辑真,否则将第四数组的相应位置的值设置为逻辑假;B3、对比完成后,服务器向客户端返回第四数组。
4.根据权利要求3所述的方法,其特征在于,步骤C包括客户端将第一数组中每一个元素的隐藏属性设置成与第四数组中与所述元素对应的逻辑值相反的逻辑值。
5.一种与应用业务分离的权限控制系统,其特征在于,该权限控制系统包括客户端和服务器,所述客户端用于将网页上至少一个需要权限控制的功能点发送到服务器;以及根据来自服务器的判断结果,显示允许当前访问者使用的功能点,隐藏不允许当前访问者使用的功能点;所述服务器将所收到需要权限控制的功能点与当前访问者的权限进行对比,判断是否允许当前访问者使用所述功能点,并将判断结果发送至客户端。
6.根据权利要求5所述的权限控制系统,其特征在于,所述客户端包括第一数组处理模块,用于将网页上包含需要权限控制的功能点属性的标签控件存储到第一数组中;第二数组处理模块,用于将网页中需要权限控制的功能点存储到第二数组中,并将第二数组发送到服务器。
7.根据权利要求6所述的权限控制系统,其特征在于,所述服务器包括第三数组处理模块,用于向数据库查询当前访问者的权限,将查询得到权限元素存储到第三数组中;第四数组处理模块,用于创建一个与第二数组的元素的总数相同的第四数组,当权限控制模块对比完成后,向客户端返回第四数组;权限控制模块,用于将第二数组中每个功能点与第三数组中的每一个权限元素进行对比,当第二数组某个位置的功能点与第三数组中的任何一个权限元素对比结果相同时,将与第二数组所述位置对应的第四数组的相应位置的值设置为逻辑真,否则将第四数组的相应位置的值设置为逻辑假。
8.根据权利要求7所述权限控制系统,其特征在于,所述客户端包括显示模块,用于将第一数组中每一个元素的隐藏属性设置成与接收自服务器的第四数组中与所述元素对应的逻辑值相反的逻辑值。
9.一种客户端,其特征在于,包括第一数组处理模块,用于将网页上包含需要权限控制的功能点属性的标签控件存储到第一数组中;第二数组处理模块,用于将网页中需要权限控制的功能点存储到第二数组中,并将第二数组发送到服务器;显示模块,用于将第一数组中每一个元素的隐藏属性设置成与接收自服务器的第四数组中与所述元素对应的逻辑值相反的逻辑值。
10.一种服务器,其特征在于,包括第三数组处理模块,用于向数据库查询当前访问者的权限,将查询得到权限元素存储到第三数组中;第四数组处理模块,用于创建一个与第二数组的元素的总数相同的第四数组,当权限控制模块对比完成后,向客户端返回第四数组;权限控制模块,用于将第二数组中每个功能点与第三数组中的每一个权限元素进行对比,当第二数组某个位置的功能点与第三数组中的任何一个权限元素对比结果相同时,将与第二数组所述位置对应的第四数组的相应位置的值设置为逻辑真,否则将第四数组的相应位置的值设置为逻辑假。
全文摘要
本发明提供了一种与应用业务分离的权限控制方法,包括如下步骤A、将网页上至少一个需要权限控制的功能点发送到服务器;B、服务器将所收到需要权限控制的功能点与当前访问者的权限进行对比,判断是否允许当前访问者使用所述功能点,并将判断结果发送至客户端;C、客户端根据所述判断结果,显示允许当前访问者使用的功能点,隐藏不允许当前访问者使用的功能点。
文档编号H04L29/06GK102387139SQ20111031453
公开日2012年3月21日 申请日期2011年10月17日 优先权日2011年10月17日
发明者詹甫, 邓鹏 申请人:迈普通信技术股份有限公司