一种页面构建控制方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种页面构建控制方法和装置。
背景技术
现有技术中,当用户在客户端输入账号密码等登录信息后,服务器会根据客户端的登录信息验证用户是否拥有访问的权限,当确定用户拥有访问的权限后,服务器会构建相应的页面并将该页面发送至客户端进行显示。
当用户在当前显示的页面中进一步请求访问新的资源时,服务器查询该资源是否进行了权限控制,如有进行权限控制,用户是否具有访问该资源的权限,当确定用户具有访问该资源的权限后,服务器根据用户的权限对该资源进行页面展示处理,构建对应的页面并将该对应的页面发送至客户端进行显示,使得用户仅看到自己权限范围内的资源信息。
这时,由于服务器负责用户权限的管理、验证和页面展示,当多个用户同时访问服务器请求资源时,用户每进行一次资源请求,服务器就验证一次用户是否具有权限后再响应对应的资源请求,并进行相应的页面展示处理,使得服务器的负担压力较大,系统运行效率低。
发明内容
有鉴于此,本发明实施例提供了一种页面构建控制方法和装置,以解决现有页面构建控制方法中服务器端的负担压力大,系统运行效率低的问题。
第一方面,本发明实施例提供了一种页面构建控制方法,所述方法包括:
客户端获取用户的登录信息;
客户端根据所述登录信息确定客户端内存中是否存储有与所述登录信息对应的用户权限信息;
如果客户端内存中未存储有与所述登录信息对应的用户权限信息,客户端根据所述登录信息从服务器中获取与所述登录信息对应的用户权限信息,客户端将所述用户权限信息存储至客户端内存中;
如果客户端内存中存储有与所述登录信息对应的用户权限信息,客户端根据所述用户权限信息构建第一权限页面。
第二方面,本发明实施例提供了一种功能页面构建控制装置,所述装置包括登录信息获取单元、权限信息确定单元、权限信息处理单元和第一页面构建单元;
其中,登录信息获取单元,用于由客户端获取用户的登录信息;
权限信息确定单元,用于由客户端根据所述登录信息确定客户端内存中是否存储有与所述登录信息对应的用户权限信息;
权限信息处理单元,用于如果客户端内存中未存储有与所述登录信息对应的用户权限信息,由客户端根据所述登录信息从服务器中获取与所述登录信息对应的用户权限信息,由客户端将所述用户权限信息存储至客户端内存中;
第一页面构建单元,用于如果客户端内存中存储有与所述登录信息对应的用户权限信息,由客户端根据所述用户权限信息构建第一权限页面。
在本发明实施例中,通过客户端获取用户的登录信息;在客户端根据所述登录信息确定客户端内存中未存储有与所述登录信息对应的用户权限信息后,由客户端根据所述登录信息从服务器中获取与所述登录信息对应的用户权限信息,客户端将所述用户权限信息存储至客户端内存中,再由客户端根据所述用户权限信息构建第一权限页面,通过将服务器已经验证过的用户权限信息存储在客户端中,以便于客户端根据该用户权限信息构建对应的页面,通过由客户端分担服务器的负担压力,极大的降低了服务器的负担压力,并提高了服务器的运行效率。
附图说明
图1是本发明实施例提供的一种页面构建控制方法的实现流程图;
图2是本发明实施例提供的一种构建第二权限页面的方法的实现流程图;
图3是本发明实施例提供的一种客户端根据资源数据和用户权限信息构建
第二权限页面的方法的具体实现流程图;
图4是本发明实施例提供的一种页面构建控制装置的结构框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,在本发明各个实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以下结合具体实施例对本发明的实现进行详细描述:
图1示出了本发明实施例提供的一种功能页面构建控制方法的实现流程,详述如下:
在步骤S101中,客户端获取用户的登录信息。
在本发明实施例中,用户在客户端显示的登录界面上输入用户账号、用户密码等登录信息,其中登录信息的输入方式可以是键盘输入、触摸输入或者语音输入等等,此处对登录信息的输入方式不做具体限定。
在这里,客户端包括但不限于浏览器、财会管理模拟仿真软件。
进一步地,用户在客户端中可以打开多个登录界面,例如,在浏览器中打开多个登录页面,可以实现不同的用户在同一客户端登录以进行相应的操作。
在这里,用户在客户端显示的登录界面上输入的信息还可以包括验证码、验证图片等。
在步骤S102中,客户端根据所述登录信息确定客户端内存中是否存储有与所述登录信息对应的用户权限信息。
在本发明实施例中,在客户端内存中存储有历史登录信息,当用户使用账号和密码登录客户端后,客户端将该登录信息包含的账号信息,以及该账号的登录时间等信息记录并存储在客户端内存中,以形成历史登录信息,即历史登录信息中包括用户最近登录的账号和时间。
在这里,当客户端获取到用户的登录信息时,根据该登录信息中包含的账号信息,遍历查询历史登录信息中是否记录有与该登录信息中包含的账号信息一致的账号,通过查询该账号是否登录过客户端以确定客户端内存中是否存储有与所述登录信息对应的用户权限信息。
在步骤S103中,如果客户端内存中未存储有与所述登录信息对应的用户权限信息,客户端根据所述登录信息从服务器中获取所述登录信息所对应的用户权限信息,客户端将所述用户权限信息存储至客户端内存中。
在本发明实施例中,权限管理可以分为功能级权限和数据级权限,其中,功能级权限根据控制的粒度又可以分为菜单级权限和按钮级权限。在这里,客户端根据登录信息从服务器中获取的登录信息所对应的用户权限信息仅包括菜单级权限信息和按钮级权限信息,即在本发明实施例中客户端仅涉及功能级权限的处理,不涉及数据级权限的处理,不仅能避免因客户端内存太小而无法存储大量数据,同时还保证了数据的安全性,避免存储在客户端的数据因安全性较低而导致泄密。
在本发明实施例中,在服务器中存储有不同用户账号对应的用户权限信息,比如,用户X具有访问菜单A和菜单B的权限,用户Y具有访问菜单B和按钮C的权限,其中,A、B和C可以在同一页面中,也可以在不同的页面中,当客户端获取到的是用户X的登录信息时,可以从服务器中获取与包含用户X的登录信息对应的用户权限信息为菜单A和菜单B。
在这里,为了进一步提高客户端访问服务器的访问速度和提高服务器的响应速度,客户端将所述登录信息发送至服务器,以使得服务器获取与所述登录信息对应的用户权限信息和资源数据,并将所述用户权限信息和所述资源数据存储至服务器的内存缓冲区中,这时,客户端再根据登录信息从服务器的内存缓冲区中获取与用户登录信息对应的用户权限信息,并将该用户权限信息存储在客户端内存中。
在这里,当客户端根据所述登录信息从服务器中获取与所述登录信息对应的用户权限信息时,服务器根据客户端提供的登录信息验证该登录信息所属的用户账号是否具有访问权限,如果该登录信息所属的用户账号具有访问权限,将该登录信息所属的用户账号具有访问权限的所有功能权限信息均反馈至客户端,例如,用户X具有访问菜单A和菜单B的权限,同时还具有访问A菜单的下级菜单M和按钮N的权限,不能访问A菜单的下级菜单K和按钮L,其中,菜单A和菜单B在同一页面,菜单M、菜单K、按钮N和按钮L在同一页面中,这时,服务器将包含用户X可以访问菜单A、菜单B、菜单M和按钮N的用户权限信息反馈给客户端,客户端在获取到包含用户X可以访问菜单A、菜单B、菜单M和按钮N的用户权限信息后,将该用户权限信息存储至客户端内存中。
与此同时,客户端将该登录信息包含的账号信息,以及该账号的登录时间等信息记录存储至客户端内存中的历史登录信息中,以便于后续操作。
在这里,存储在客户端内存中的用户权限信息不会在用户退出登录的时候就被清除掉,以保证用户下次登录时客户端可以直接使用该存储在客户端内存中的用户权限信息。
同时,为了避免客户端内存因存储量过大而影响客户端的响应速度,在客户端内存的存储量达到预设存储阈值时,客户端根据预设的规则将一些用户权限信息清除掉,以释放内存空间。
在这里,上述预设的规则是判断历史登录信息中长期不使用的账号,或者使用频率较低的账号,将该账号对应的用户权限信息清除掉并删除记录在历史登录信息中对应的账号记录,以避免出现有该账号登录的历史登录信息,但客户端内存中未存储有与登录信息对应的用户权限信息而导致错误的情况。
进一步地,因为访问这些具有权限的用户权限信息,还需要用户登录相应的账号后才可以获取,因此在一定程度上保证了这些用户权限信息的安全性。
在步骤S104中,如果客户端内存中存储有与所述登录信息对应的用户权限信息,客户端根据所述用户权限信息构建第一权限页面。
在本发明实施例中,用户权限信息中包括各种具有权限的菜单组件和按钮组件,通过组件构建方式来构建第一权限页面,
在本发明实施例中,客户端通过Javascript(简称JS)组件来根据客户端内存中存储的用户权限信息动态构建第一权限页面。
当然,也不仅仅局限于进采用JS组件来动态构建该第一权限页面,也可以采用其他组件方式来构建所需要构建的第一权限页面。
在这里,根据存储在客户端内存中的用户权限信息所构建的第一权限页面,并没有包括用户所需要获取的资源数据,例如图片、试题或者网页链接等等,当用户点击第一权限页面中的菜单或者按钮以获取相关资源数据时,客户端在从服务器中获取相应的资源数据后,再由客户端根据这些资源数据和存储在客户端内存中的用户权限信息构建相应的第二权限页面。
具体地,为了提高服务器的响应速度,当服务器内存缓冲区中存储有登录信息所对应的用户权限信息和资源数据时,客户端从服务器内存缓冲区获取相应的用户权限信息和资源数据。
在这里,客户端根据所述用户权限信息构建第一权限页面为由用户权限信息中优先级最高的用户权限信息所构建的页面,例如,登录信息所属的用户为X,那么第一页面中显示的菜单内容包括A和B,菜单M和按钮N不显示。
具体地,在步骤S104之后,还包括如图2所示的构建第二权限页面的具体实现流程:
在步骤S201中,客户端检测用户是否在所述第一权限页面中输入资源请求信息。
资源请求信息具体为用户请求访问在客户端中显示的第一权限页面中的菜单所包含的资源数据,比如,用户X点击菜单A,请求访问菜单A包含的资源,例如,用户打开邮箱后,点击收件箱以访问收件箱中包含的邮件内容。
在步骤S202中,如果检测到用户在所述第一权限页面中输入资源请求信息,客户端将所述资源请求信息发送至服务器,以使得服务器根据所述资源请求信息将与所述资源请求信息对应的资源数据发送至客户端。
在本发明实施例中,所述资源数据包括页面显示数据和页面布局数据。所述页面显示数据包括但不限于图片、试题、视频或者动态flash等。页面布局数据为这些页面显示数据和用户权限信息的页面布局的信息参数。
在这里,因为客户端内存中存储的仅是用户权限信息,而具体的资源数据仍然存储在服务器中或者服务器的内存缓冲区中,因此在检测到用户在第一权限页面中输入的资源请求信息时,即用户点击第一页面中的菜单时,客户端将包含该菜单信息的资源请求信息发送至服务器,以使得服务器响应客户端的资源请求信息,并由服务器将存储在服务器的内存缓冲区中的与该资源请求信息对应的资源数据传送至客户端,实现快速响应客户端的资源请求。
在步骤S203中,客户端根据所述资源数据和所述用户权限信息构建第二权限页面。
在本发明实施例中,第二权限页面中可以包括第一权限页面的所有菜单按钮,也可以包括第一权限页面的部分菜单按钮,或者不包括第一权限页面的所有菜单按钮,具体根据用户权限信息的优先级和具体的页面布局数据而定。
在这里,第二权限页面并不是特指在第一权限页面中再次点击页面中菜单而打开的页面,还包含在第二权限页面中点击页面中菜单而打开的其他页面,也就是第二权限页面具体为不同菜单层级下打开的页面。
进一步地,上述步骤S203中客户端根据所述资源数据和所述用户权限信息构建第二权限页面的具体实现流程如图3所示:
在步骤S301中,客户端接收由服务器传送的所述资源数据,所述资源数据中包含权限标识。
在本发明实施例中,权限标识具体为资源数据与具有权限的菜单或者按钮相关联的标识,通过该标识可以知道对应的菜单下可以访问的资源数据有哪些,或者对应的按钮可以控制的资源数据有哪些。
在步骤S302中,客户端根据所述资源数据中包含的权限标识,将所述资源数据与存储在客户端内存中的用户权限信息进行匹配。
在本发明实施例中,用户权限信息中也包含有权限标识,将具有相同权限标识的用户权限信息和资源数据进行匹配,以使得两者能够对应起来,在用户点击第一权限页面的菜单后,客户端就可以通过该权限标识获取到匹配的资源数据,类似于具有网址链接的菜单,在点击该菜单后,就可以访问该网址链接中包含的资源。
在步骤S303中,客户端根据所述资源数据中包含的页面布局数据,将匹配后的资源数据和对应的用户权限信息进行关联,生成相应的页面关联数据。
在本发明实施例中,页面布局数据中包括页面中包含的内容的布局数据,具体如菜单、按钮和资源的相对位置,在将资源与菜单或者按钮匹配后,在根据他们的相对位置进行关联,生成了相应的页面关联数据。
在页面关联数据中明确了菜单、按钮和资源的相对位置,并且包括了菜单和按钮与哪些资源的对应关系,在客户端获取了页面关联的数据后,就可以进行对应的处理。
在步骤S304中,客户端根据所述页面关联数据构建对应的第二权限页面。
在本发明实施例中,客户端根据页面关联数据中包含的相关信息,通过JS组件构建对应的权限页面。
在本发明实施例中,通过客户端获取用户的登录信息;在客户端根据所述登录信息确定客户端内存中未存储有与所述登录信息对应的用户权限信息后,由客户端根据所述登录信息从服务器中获取与所述登录信息对应的用户权限信息,客户端将所述用户权限信息存储至客户端内存中,再由客户端根据所述用户权限信息构建第一权限页面,通过将服务器已经验证过的用户权限信息存储在客户端中,以便于客户端根据该用户权限信息构建对应的页面,通过由客户端分担服务器的负担压力,极大的降低了服务器的负担压力,并提高了服务器的运行效率。
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,上述的存储介质,如ROM/RAM、磁盘或光盘等。
图4示出了本发明实施例提供的一种页面构建控制装置4的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例提供的一种页面构建控制装置4,包括登录信息获取单元41、权限信息确定单元42、权限信息处理单元43和第一页面构建单元44;
其中,登录信息获取单元41,用于由客户端获取用户的登录信息;
权限信息确定单元42,用于由客户端根据所述登录信息确定客户端内存中是否存储有与所述登录信息对应的用户权限信息;
权限信息处理单元43,用于如果客户端内存中未存储有与所述登录信息对应的用户权限信息,由客户端根据所述登录信息从服务器中获取与所述登录信息对应的用户权限信息,由客户端将所述用户权限信息存储至客户端内存中;
第一页面构建单元44,用于如果客户端内存中存储有与所述登录信息对应的用户权限信息,由客户端根据所述用户权限信息构建第一权限页面。
具体地,所述用户权限信息仅包括菜单级权限和按钮级权限的信息。
进一步地,所述权限信息处理单元43中包括登录信息发送子单元;
具体地,所述登录信息发送子单元,用于由客户端将所述登录信息发送至服务器,以使得服务器获取所述登录信息所对应的用户权限信息和资源数据,并将所述用户权限信息和所述资源数据存储至服务器的内存缓冲区中。
进一步地,所述装置还包括信息输入检测单元、资源获取单元和第二页面构建单元;
其中,信息输入检测单元,用于由客户端检测用户是否在所述第一权限页面中输入资源请求信息;
资源获取单元,用于如果检测到用户在所述第一权限页面中输入资源请求信息,由客户端将所述资源请求信息发送至服务器,以使得服务器根据所述资源请求信息将与所述资源请求信息对应的资源数据发送至客户端;
第二页面构建单元,用于由客户端根据所述资源数据和所述用户权限信息构建第二权限页面。
进一步地,所述第二页面构建单元包括数据接收子单元、匹配处理子单元、页面关联处理子单元和第二页面构建子单元;
其中,数据接收子单元,用于由客户端接收由服务器传送的所述资源数据,所述资源数据中包含权限标识和页面布局数据;
匹配处理子单元,用于由客户端根据所述资源数据中包含的权限标识,将所述资源数据与存储在客户端内存中的用户权限信息进行匹配;
页面关联处理子单元,用于由客户端根据所述资源数据中包含的页面布局数据,将匹配后的资源数据和对应的用户权限信息进行关联,生成相应的页面关联数据;
第二页面构建子单元,用于由客户端根据所述页面关联数据构建对应的第二权限页面。
在本发明实施例中,通过页面构建控制装置由客户端获取用户的登录信息;在客户端根据所述登录信息确定客户端内存中未存储有与所述登录信息对应的用户权限信息后,由客户端根据所述登录信息从服务器中获取与所述登录信息对应的用户权限信息,客户端将所述用户权限信息存储至客户端内存中,再由客户端根据所述用户权限信息构建第一权限页面,通过将服务器已经验证过的用户权限信息存储在客户端中,以便于客户端根据该用户权限信息构建对应的页面,通过由客户端分担服务器的负担压力,极大的降低了服务器的负担压力,并提高了服务器的运行效率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同装置来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述装置实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述装置的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到状态或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应上述以权利要求的保护范围为准。