[发明专利]非侵入式权限控制系统在审
申请号: | 202110439586.1 | 申请日: | 2021-04-23 |
公开(公告)号: | CN113139169A | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 张斌 | 申请(专利权)人: | 上海中通吉网络技术有限公司 |
主分类号: | G06F21/33 | 分类号: | G06F21/33;G06F21/45 |
代理公司: | 北京细软智谷知识产权代理有限责任公司 11471 | 代理人: | 葛钟 |
地址: | 201799 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 侵入 权限 控制系统 | ||
本申请涉及一种非侵入式权限控制系统。该系统设置有登录服务模块、业务应用模块、会话服务模块和用户信息模块。其中,用户信息模块用于存储会话服务模块配置的权限信息,登录服务模块用于得到可用接口列表和生成token,业务应用模块用于在用户请求访问接口时,基于token从会话服务模块中获取登录服务模块生成的可用接口列表,并判断是否允许访问。如此设置,将权限与接口动态配置,从而可以实现在运行时修改权限粒度;此外,通过会话服务模块存取权限信息,不需要访问数据库,因此可以实现无感知扩容。
技术领域
本申请涉及权限控制技术领域,尤其涉及一种非侵入式权限控制系统。
背景技术
软件系统中,经常涉及权限控制,例如控制用户的登录权限。现有的方案需要在接口上硬编码对应的权限,也即,需要将数据直接嵌入到程序的源代码中,因此,现有权限控制方案中不能在系统运行时改变权限的粒度,不方便用户使用。
发明内容
本申请提供一种非侵入式权限控制系统,以解决不能在系统运行时改变权限的粒度,不方便用户使用的问题。
本申请的上述目的是通过以下技术方案实现的:
本申请实施例一种非侵入式权限控制系统,其包括:登录服务模块、业务应用模块、会话服务模块和用户信息模块;其中,
所述登录服务模块用于,在用户登录时,根据该用户已获得的权限,获取权限对应的接口,得到用户的可用接口列表,以及将所述可用接口列表存入所述会话服务模块,并生成token;其中,用户登录后,每次访问接口时,均会传入token;
所述业务应用模块用于,在用户每次访问接口时,利用token从所述会话服务模块中获取用户的可用接口列表,并基于所述可用接口列表判断是否允许访问目标接口;
所述用户信息模块用于,获取并存储所述会话服务模块传入的用户的权限信息;其中,权限信息也即权限与接口的对应关系,是可配置的动态数据。
可选的,所述业务应用模块在基于所述可用接口列表判断是否允许访问目标接口时,具体用于:
将目标接口的统一资源标识符URI与目标接口的方法method进行拼接;
查看所述可用接口列表,若所述可用接口列表中包含上述拼接的结果,则允许访问,否则拒绝访问。
可选的,所述会话服务模块中,基于开源分布式服务框架dubbo或超文本传输协议http实现存取会话。
可选的,所述用户信息模块为基于非关系型的数据库实现。
可选的,应用的非关系型的数据库包括远程字典服务Redis或分布式的高速缓存系统memcached。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请的实施例提供的非侵入式权限控制系统中,设置有登录服务模块、业务应用模块、会话服务模块和用户信息模块。其中,用户信息模块用于存储会话服务模块配置的权限信息,登录服务模块用于得到可用接口列表和生成token,业务应用模块用于在用户请求访问接口时,基于token从会话服务模块中获取登录服务模块生成的可用接口列表,并判断是否允许访问。如此设置,将权限与接口动态配置,从而可以实现在运行时修改权限粒度;此外,通过会话服务模块存取权限信息,不需要访问数据库,因此可以实现无感知扩容。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种非侵入式权限控制系统的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海中通吉网络技术有限公司,未经上海中通吉网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110439586.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于制造透气性手套的材料
- 下一篇:多连接打印方法、系统和装置