权限控制方法和系统、客户端、服务端和存储介质技术方案

技术编号:39409170 阅读:19 留言:0更新日期:2023-11-19 16:01
本公开涉及一种权限控制方法和系统、客户端、服务端和存储介质。该方法包括:在用户登录系统的情况下,从服务端获取用户基本信息和权限信息,其中,权限信息包括第一权限时间;在客户端缓存权限信息;根据权限信息渲染客户端界面;向服务端发送操作请求,其中,所示操作请求包括第一权限时间,以便服务端比较第一权限时间和数据库中的第二权限时间;接收服务端返回的响应数据,其中,所述响应数据包括权限时间字段;根据所述响应数据对页面进行渲染。本公开中,如果用户权限被改变,用户在进行操作请求时,可直接获取到最新的权限数据,客户端就可以直接依据最新权限信息进行渲染,不必进行额外的用户权限请求。额外的用户权限请求。额外的用户权限请求。

【技术实现步骤摘要】
权限控制方法和系统、客户端、服务端和存储介质


[0001]本公开涉及信息
,特别涉及一种权限控制方法和系统、客户端、服务端和存储介质。

技术介绍

[0002]相关技术在之前Web系统中,权限很久以来一直由后端控制,随着前后端架构的分离,越来越多的项目的权限控制也在前端进行。
[0003]RBAC(Role

Based Access Control,基于角色的访问控制)是当前使用最广泛的权限模型,该模型的核心是在用户和权限之间引入了角色的概念,取消了用户和权限的直接关联,改为通过用户关联角色、角色关联权限的方法来间接地赋予用户权限,从而达到用户和权限解耦的目的。
[0004]相关技术前端主流的2种基于RBAC的权限控制方案:
[0005]方案1:前端记录所有权限,将所有权限信息写在前端项目代码中。用户登陆后,后端返回用户角色,前端根据角色进行权限的分配。
[0006]方案2:前端记录页面,后端记录权限。用户登陆后,从后端获取可用权限,根据后端返回权限进行渲染。

技术实现思路

[0007]专利技术人通过研究发现:相关技术的两种方案在修改用户具有的权限时都比较困难。需要技术人员配合修改相关代码,用户也只能通过退出系统或等到登陆过期后重新登陆等用户自主操作的方式进行权限更新。
[0008]鉴于以上技术问题中的至少一项,本公开提供了一种权限控制方法和系统、客户端、服务端和存储介质,如果用户权限被改变,用户在进行操作请求时,可直接获取到最新的权限数据,客户端就可以直接依据最新权限信息进行渲染,不必进行额外的用户权限请求。
[0009]根据本公开的一个方面,提供一种权限控制方法,包括:
[0010]在用户登录系统的情况下,从服务端获取用户基本信息和权限信息,其中,权限信息包括第一权限时间;
[0011]在客户端缓存权限信息;
[0012]根据权限信息渲染客户端界面;
[0013]向服务端发送操作请求,其中,所示操作请求包括第一权限时间,以便服务端比较第一权限时间和数据库中的第二权限时间;
[0014]接收服务端返回的响应数据,其中,所述响应数据包括权限时间字段;
[0015]根据所述响应数据对页面进行渲染。
[0016]在本公开的一些实施例中,所述根据所述响应数据对页面进行渲染包括:
[0017]在所述权限时间字段为已修改的情况下,清空本地缓存的权限信息,采用新的权
限信息对客户端界面进行重新渲染,其中,所述响应数据还包括新的权限信息,服务端在第一权限时间和数据库中的第二权限时间不相同的情况下,设置权限时间字段为已修改,对权限信息进行更新,返回响应数据到客户端。
[0018]在本公开的一些实施例中,所述根据所述响应数据对页面进行渲染包括:
[0019]在所述权限时间字段为空的情况下,判定权限信息未更新,根据用户请求数据对客户端界面进行渲染,其中,所述响应数据还包括用户请求数据,服务端在第一权限时间和数据库中的第二权限时间相同的情况下,返回响应数据到客户端。
[0020]在本公开的一些实施例中,所述权限信息还包括菜单权限数据和按钮权限数据。
[0021]在本公开的一些实施例中,所述根据权限信息渲染客户端界面包括:
[0022]将菜单权限数据和按钮权限数据进行数据格式转换,包括:将菜单权限数据转换为动态路由数据;
[0023]将动态路由数据和本地默认路由数据合并为总权限路由数据;
[0024]循环遍历总权限路由数据,生成菜单栏;
[0025]采用原型挂载方式判断按钮权限数据中是否存在按钮所需要的权限,动态渲染权限按钮。
[0026]在本公开的一些实施例中,所述权限控制方法还包括:
[0027]接收用户选择的新增角色的菜单权限和按钮权限;
[0028]将用户选择的新增角色的菜单权限和按钮权限发送到服务端,以便服务端进行权限配置,并基于配置时间,生成第二权限时间。
[0029]在本公开的一些实施例中,所述权限控制方法还包括:
[0030]向服务端发送角色权限修改请求,以便服务端进行角色权限修改,并根据修改权限时间更新第二权限时间。
[0031]根据本公开的另一方面,提供一种权限控制方法,包括:
[0032]接收客户端发送的操作请求,其中,所示操作请求包括第一权限时间,第一权限时间包括在权限信息中,所述用户基本信息和权限信息为在用户登录系统的情况下从服务端获取、并缓存在客户端的,所述权限信息,用于渲染客户端界面;
[0033]比较第一权限时间和数据库中的第二权限时间;
[0034]根据第一权限时间和第二权限时间是否相同,向客户端返回相应的响应数据,以便客户端根据所述响应数据对页面进行渲染。
[0035]在本公开的一些实施例中,所述根据第一权限时间和第二权限时间是否相同,向客户端返回相应的响应数据包括:
[0036]在第一权限时间和数据库中的第二权限时间不相同的情况下,设置权限时间字段为已修改,对权限信息进行更新,返回响应数据到客户端,其中,所述响应数据包括用户的新权限信息和权限时间字段,以便客户端清空本地缓存的权限信息,采用新的权限信息对客户端界面进行重新渲染。
[0037]在本公开的一些实施例中,所述根据第一权限时间和第二权限时间是否相同,向客户端返回相应的响应数据包括:
[0038]在第一权限时间和数据库中的第二权限时间相同的情况下,设置权限时间字段设置为空,返回响应数据到客户端,其中,所述响应数据包括用户请求数据和权限时间字段,
以便客户端根据用户请求数据对客户端界面进行渲染。
[0039]在本公开的一些实施例中,所述权限信息还包括菜单权限数据和按钮权限数据。
[0040]在本公开的一些实施例中,所述权限控制方法还包括:
[0041]接收客户端发送的、用户选择的新增角色的菜单权限和按钮权限;
[0042]根据用户选择的新增角色的菜单权限和按钮权限,进行权限配置;
[0043]基于配置时间,生成第二权限时间,并存储在数据库中。
[0044]在本公开的一些实施例中,所述权限控制方法还包括:
[0045]接收客户端发送的角色权限修改请求;
[0046]根据所述角色权限修改请求进行角色权限修改;
[0047]根据修改权限时间更新第二权限时间。
[0048]根据本公开的另一方面,提供一种客户端,包括:
[0049]信息获取模块,被配置为在用户登录系统的情况下,从服务端获取用户基本信息和权限信息,其中,权限信息包括第一权限时间;
[0050]信息缓存模块,被配置为在客户端缓存权限信息;
[0051]界面渲染模块,被配置为根据权限信息渲染客户端界面;
[0052]操作请求发送模块,被配置为向服务端发送操作请求,其中,所示操作请求包括第一权限时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种权限控制方法,包括:在用户登录系统的情况下,从服务端获取用户基本信息和权限信息,其中,权限信息包括第一权限时间;在客户端缓存权限信息;根据权限信息渲染客户端界面;向服务端发送操作请求,其中,所示操作请求包括第一权限时间,以便服务端比较第一权限时间和数据库中的第二权限时间;接收服务端返回的响应数据,其中,所述响应数据包括权限时间字段;根据所述响应数据对页面进行渲染。2.根据权利要求1所述的权限控制方法,其中,所述根据所述响应数据对页面进行渲染包括:在所述权限时间字段为已修改的情况下,清空本地缓存的权限信息,采用新的权限信息对客户端界面进行重新渲染,其中,所述响应数据还包括新的权限信息,服务端在第一权限时间和数据库中的第二权限时间不相同的情况下,设置权限时间字段为已修改,对权限信息进行更新,返回响应数据到客户端。3.根据权利要求1所述的权限控制方法,其中,所述根据所述响应数据对页面进行渲染包括:在所述权限时间字段为空的情况下,判定权限信息未更新,根据用户请求数据对客户端界面进行渲染,其中,所述响应数据还包括用户请求数据,服务端在第一权限时间和数据库中的第二权限时间相同的情况下,返回响应数据到客户端。4.根据权利要求1

3中任一项所述的权限控制方法,其中,所述权限信息还包括菜单权限数据和按钮权限数据;所述根据权限信息渲染客户端界面包括:将菜单权限数据和按钮权限数据进行数据格式转换,包括:将菜单权限数据转换为动态路由数据;将动态路由数据和本地默认路由数据合并为总权限路由数据;循环遍历总权限路由数据,生成菜单栏;采用原型挂载方式判断按钮权限数据中是否存在按钮所需要的权限,动态渲染权限按钮。5.根据权利要求1

3中任一项所述的权限控制方法,还包括:接收用户选择的新增角色的菜单权限和按钮权限;将用户选择的新增角色的菜单权限和按钮权限发送到服务端,以便服务端进行权限配置,并基于配置时间,生成第二权限时间。6.根据权利要求1

3中任一项所述的权限控制方法,还包括:向服务端发送角色权限修改请求,以便服务端进行角色权限修改,并根据修改权限时间更新第二权限时间。7.一种权限控制方法,包括:接收客户端发送的操作请求,其中,所示操作请求包括第一权限时间,第一权限时间包括在权限信息中,所述用户基本信息和权限信息为在用户登录系统的情况下从服务端获
取、并缓存在客户端的,所述权限信息,用于渲染客户端界面;比较第一权限时间和数据库中的第二权限时间;根据第一权限时间和第二权限时间是否相同,向客户端返回相应的响应数据,以便客户端根据所述响应数据对页面进行渲染。8.根据权利要求7所述的权限控制方法,其中,所述根据第一权限时间和第二权限时间是否相同,向客户端返回相应的响应数据包括:在第一权限时间和数据库中的第二权限时间不相同的情况下,设置权限时间字段为已修改,对权限信息进行更新,返回响应数据到客户端,其中,所述响应数据包括用户的新权限信息和权限时间字段,以便客户端清空本地缓存的权...

【专利技术属性】
技术研发人员:万亭君谭华
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1