[发明专利]一种基于切面编程的权限控制方法在审
申请号: | 202110105104.9 | 申请日: | 2021-01-26 |
公开(公告)号: | CN112818391A | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 苟林;杨垒 | 申请(专利权)人: | 四川天翼网络服务有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/60;G06F8/20 |
代理公司: | 成都金英专利代理事务所(普通合伙) 51218 | 代理人: | 袁英 |
地址: | 610041 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 切面 编程 权限 控制 方法 | ||
本发明公开了一种基于切面编程的权限控制方法,包括如下步骤:步骤1:确定业务类型,通过业务分析模块确定满足组织机构、业务数据类别和业务数据特定属性的权限业务规则;步骤2:定义权限字段,根据获取的权限业务规则对权限字段进行限定;步骤3:根据业务分析模块确定的业务需求,输出基于特定业务对象的数据权限规则至切面拦截器;步骤4:将不同的业务方法类型植入指定拦截器,同时将业务方法数据传送给切面拦截器;步骤5:定义切面拦截器,根据接收到的业务方法数据和数据权限规则,实现业务查询权限控制;步骤6:输出经权限过滤的业务数据。
技术领域
本发明涉及切面,具体的,涉及一种基于切面编程的权限控制方法。
背景技术
在业务管理信息系统中,基于用户、角色和机构,对系统资源(如菜单、功能、数据等)进行访问控制,是一项基本和重要的功能。“确保已授权用户在授权的范围内,对系统进行访问控制”,是一个业务管理信息系统必须的要求。 最常见的业务管理信息系统采用的权限模型是RBAC(Role-Based Access Control),需要对系统的所有资源进行权限控制,系统资源可以简单地概括为静态资源(功能操作、数据列)和动态资源(数据),也分别称为对象资源和数据资源。RBAC的目标是对系统中所有对象资源和数据资源进行权限控制。其中难点就是对动态资源(数据资源)的访问控制。
大部分系统的数据权限控制,由于业务数据的动态性,都是通过数据访问接口中,通过传递用户信息(角色、机构等),在接口方法中,通过sql拼接或注入来实现,主要弊端如下:1、权限访问控制代码复杂,凡是需要权限控制的地方,均需增加额外,与业务无关的代码和参数;2、权限访问逻辑分散到整个系统中,一旦业务规则发生变化,可能影响到全局,带来大量的维护工作量;3、业务逻辑与权限控制代码混淆,增加了业务模块的复杂度,给系统排错和维护也带来不必要的开销。
发明内容
本发明的目的在于,针对上述问题,提出一种基于切面编程的权限控制方法。
一种基于切面编程的权限控制方法,包括如下步骤:
步骤1:确定业务类型,通过业务分析模块确定满足组织机构、业务数据类别和业务数据特定属性的权限业务规则;
步骤2:定义权限字段,根据获取的权限业务规则对权限字段进行限定;
步骤3:根据业务分析模块确定的业务需求,输出基于特定业务对象的数据权限规则至切面拦截器;
步骤4:将不同的业务方法类型植入指定拦截器,同时将业务方法数据传送给切面拦截器;
步骤5:定义切面拦截器,根据接收到的业务方法数据和数据权限规则,实现业务查询权限控制;
步骤6:输出经权限过滤的业务数据。
所述步骤2包括如下子步骤:
S201:按树形多级组织机构编码规则对权限字段进行限定;
S202:按照组织机构权限控制的业务数据,增加编码字段。
优选的,所述机构编码作为每个机构的唯一属性,下级机构自动继承上级机构编码,并扩展本级编码。
优选的,所述步骤3中数据权限规则的条件规则包括:“=”、“!=”、“包含”、“左模糊”和“右模糊”。
步骤5包括如下子步骤:
S501:获取登录用户所在机构;
S502:根据用户的查询业务,注入数据权限规则查询条件,查询符合条件的业务数据。
本发明的有益效果:利用切面技术,实现权限控制代码与业务代码分离,业务逻辑编写人员关注业务逻辑,无需关注业务数据的访问权限;通过灵活、简单的权限访问编码规则,支持动态配置,用户可自定义,实现大多数情况下业务数据访问的控制;针对特定数据访问规则,支持扩展权限控制接口,通过二次开发等形式实现特殊业务数据控制。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川天翼网络服务有限公司,未经四川天翼网络服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110105104.9/2.html,转载请声明来源钻瓜专利网。