Nothing Special   »   [go: up one dir, main page]

CN112818391A - 一种基于切面编程的权限控制方法 - Google Patents

一种基于切面编程的权限控制方法 Download PDF

Info

Publication number
CN112818391A
CN112818391A CN202110105104.9A CN202110105104A CN112818391A CN 112818391 A CN112818391 A CN 112818391A CN 202110105104 A CN202110105104 A CN 202110105104A CN 112818391 A CN112818391 A CN 112818391A
Authority
CN
China
Prior art keywords
service
authority
data
rule
interceptor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110105104.9A
Other languages
English (en)
Inventor
苟林
杨垒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Tianyi Network Service Co ltd
Original Assignee
Sichuan Tianyi Network Service Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Tianyi Network Service Co ltd filed Critical Sichuan Tianyi Network Service Co ltd
Priority to CN202110105104.9A priority Critical patent/CN112818391A/zh
Publication of CN112818391A publication Critical patent/CN112818391A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于切面编程的权限控制方法,包括如下步骤:步骤1:确定业务类型,通过业务分析模块确定满足组织机构、业务数据类别和业务数据特定属性的权限业务规则;步骤2:定义权限字段,根据获取的权限业务规则对权限字段进行限定;步骤3:根据业务分析模块确定的业务需求,输出基于特定业务对象的数据权限规则至切面拦截器;步骤4:将不同的业务方法类型植入指定拦截器,同时将业务方法数据传送给切面拦截器;步骤5:定义切面拦截器,根据接收到的业务方法数据和数据权限规则,实现业务查询权限控制;步骤6:输出经权限过滤的业务数据。

Description

一种基于切面编程的权限控制方法
技术领域
本发明涉及切面,具体的,涉及一种基于切面编程的权限控制方法。
背景技术
在业务管理信息系统中,基于用户、角色和机构,对系统资源(如菜单、功能、数据等)进行访问控制,是一项基本和重要的功能。“确保已授权用户在授权的范围内,对系统进行访问控制”,是一个业务管理信息系统必须的要求。 最常见的业务管理信息系统采用的权限模型是RBAC(Role-Based Access Control),需要对系统的所有资源进行权限控制,系统资源可以简单地概括为静态资源(功能操作、数据列)和动态资源(数据),也分别称为对象资源和数据资源。RBAC的目标是对系统中所有对象资源和数据资源进行权限控制。其中难点就是对动态资源(数据资源)的访问控制。
大部分系统的数据权限控制,由于业务数据的动态性,都是通过数据访问接口中,通过传递用户信息(角色、机构等),在接口方法中,通过sql拼接或注入来实现,主要弊端如下:1、权限访问控制代码复杂,凡是需要权限控制的地方,均需增加额外,与业务无关的代码和参数;2、权限访问逻辑分散到整个系统中,一旦业务规则发生变化,可能影响到全局,带来大量的维护工作量;3、业务逻辑与权限控制代码混淆,增加了业务模块的复杂度,给系统排错和维护也带来不必要的开销。
发明内容
本发明的目的在于,针对上述问题,提出一种基于切面编程的权限控制方法。
一种基于切面编程的权限控制方法,包括如下步骤:
步骤1:确定业务类型,通过业务分析模块确定满足组织机构、业务数据类别和业务数据特定属性的权限业务规则;
步骤2:定义权限字段,根据获取的权限业务规则对权限字段进行限定;
步骤3:根据业务分析模块确定的业务需求,输出基于特定业务对象的数据权限规则至切面拦截器;
步骤4:将不同的业务方法类型植入指定拦截器,同时将业务方法数据传送给切面拦截器;
步骤5:定义切面拦截器,根据接收到的业务方法数据和数据权限规则,实现业务查询权限控制;
步骤6:输出经权限过滤的业务数据。
所述步骤2包括如下子步骤:
S201:按树形多级组织机构编码规则对权限字段进行限定;
S202:按照组织机构权限控制的业务数据,增加编码字段。
优选的,所述机构编码作为每个机构的唯一属性,下级机构自动继承上级机构编码,并扩展本级编码。
优选的,所述步骤3中数据权限规则的条件规则包括:“=”、“!=”、“包含”、“左模糊”和“右模糊”。
步骤5包括如下子步骤:
S501:获取登录用户所在机构;
S502:根据用户的查询业务,注入数据权限规则查询条件,查询符合条件的业务数据。
本发明的有益效果:利用切面技术,实现权限控制代码与业务代码分离,业务逻辑编写人员关注业务逻辑,无需关注业务数据的访问权限;通过灵活、简单的权限访问编码规则,支持动态配置,用户可自定义,实现大多数情况下业务数据访问的控制;针对特定数据访问规则,支持扩展权限控制接口,通过二次开发等形式实现特殊业务数据控制。
附图说明
图1为本发明的工作流程图。
具体实施方式
下面结合附图对本发明作进一步说明。
一种基于切面编程的权限控制方法,包括如下步骤:
步骤1:确定业务类型,通过业务分析模块确定满足组织机构、业务数据类别和业务数据特定属性的权限业务规则;
步骤2:定义权限字段,根据获取的权限业务规则对权限字段进行限定;
步骤3:根据业务分析模块确定的业务需求,输出基于特定业务对象的数据权限规则至切面拦截器;
步骤4:将不同的业务方法类型植入指定拦截器,同时将业务方法数据传送给切面拦截器;
步骤5:定义切面拦截器,根据接收到的业务方法数据和数据权限规则,实现业务查询权限控制;
步骤6:输出经权限过滤的业务数据。
所述步骤2包括如下子步骤:
S201:按树形多级组织机构编码规则对权限字段进行限定;
S202:按照组织机构权限控制的业务数据,增加编码字段。
需要理解的是,所述机构编码作为每个机构的唯一属性,下级机构自动继承上级机构编码,并扩展本级编码。
需要理解的是,所述步骤3中数据权限规则的条件规则包括:“=”、“!=”、“包含”、“左模糊”和“右模糊”。
步骤5包括如下子步骤:
S501:获取登录用户所在机构;
S502:根据用户的查询业务,注入数据权限规则查询条件,查询符合条件的业务数据。
需要说明的是,通过更改业务数据编码规则和权限规则,可以很轻松实现例如用户只能查看自己的业务数据、用户只能查看某类或某几类指定的业务数据,用户只能查看某个指定时间段数据等,只需简单实现不同的编码和比较规则即可。
需要说明的是,通过权限规则控制用户或角色数据访问权限的规则问题,例如根据用户所在机构级别,或用户所在部门,或用户所属的角色,制定业务数据的编码规则,满足业务数据的多样性、动态性的基础上,通过规则来控制用户访问数据权限。

Claims (5)

1.一种基于切面编程的权限控制方法,其特征在于,包括如下步骤:
步骤1:确定业务类型,通过业务分析模块确定满足组织机构、业务数据类别和业务数据特定属性的权限业务规则;
步骤2:定义权限字段,根据获取的权限业务规则对权限字段进行限定;
步骤3:根据业务分析模块确定的业务需求,输出基于特定业务对象的数据权限规则至切面拦截器;
步骤4:将不同的业务方法类型植入指定拦截器,同时将业务方法数据传送给切面拦截器;
步骤5:定义切面拦截器,根据接收到的业务方法数据和数据权限规则,实现业务查询权限控制;
步骤6:输出经权限过滤的业务数据。
2.如权利要求1所述的一种基于切面编程的权限控制方法,其特征在于,所述步骤2包括如下子步骤:
S201:按树形多级组织机构编码规则对权限字段进行限定;
S202:按照组织机构权限控制的业务数据,增加编码字段。
3.如权利要求2所述的一种基于切面编程的权限控制方法,其特征在于,所述机构编码作为每个机构的唯一属性,下级机构自动继承上级机构编码,并扩展本级编码。
4.如权利要求1所述的一种基于切面编程的权限控制方法,其特征在于,所述步骤3中数据权限规则的条件规则包括:“=”、“!=”、“包含”、“左模糊”和“右模糊”。
5.如权利要求1所述的一种基于切面编程的权限控制方法,其特征在于,步骤5包括如下子步骤:
S501:获取登录用户所在机构;
S502:根据用户的查询业务,注入数据权限规则查询条件,查询符合条件的业务数据。
CN202110105104.9A 2021-01-26 2021-01-26 一种基于切面编程的权限控制方法 Pending CN112818391A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110105104.9A CN112818391A (zh) 2021-01-26 2021-01-26 一种基于切面编程的权限控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110105104.9A CN112818391A (zh) 2021-01-26 2021-01-26 一种基于切面编程的权限控制方法

Publications (1)

Publication Number Publication Date
CN112818391A true CN112818391A (zh) 2021-05-18

Family

ID=75859340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110105104.9A Pending CN112818391A (zh) 2021-01-26 2021-01-26 一种基于切面编程的权限控制方法

Country Status (1)

Country Link
CN (1) CN112818391A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420327A (zh) * 2021-06-23 2021-09-21 平安国际智慧城市科技股份有限公司 数据权限控制方法、系统、电子设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108257A1 (en) * 2003-11-19 2005-05-19 Yohsuke Ishii Emergency access interception according to black list
CN101276271A (zh) * 2007-03-29 2008-10-01 北京邮电大学 一种面向切面编程的拦截器系统及方法
CN103412766A (zh) * 2013-09-05 2013-11-27 曙光云计算技术有限公司 基于用户权限的数据访问方法和装置
CN106529229A (zh) * 2015-09-10 2017-03-22 北京国双科技有限公司 权限数据的处理方法和装置
CN106778341A (zh) * 2016-12-02 2017-05-31 华北计算技术研究所(中国电子科技集团公司第十五研究所) 数据权限管理系统及方法
CN107317826A (zh) * 2017-08-05 2017-11-03 中山大学 一种基于拦截器实现java网络系统权限管理的方法
CN109684793A (zh) * 2018-12-29 2019-04-26 北京神舟航天软件技术有限公司 一种基于权限域结构树进行数据权限管理的方法
CN111385264A (zh) * 2018-12-29 2020-07-07 卓望数码技术(深圳)有限公司 一种通信业务数据访问系统和方法
CN111931133A (zh) * 2019-12-26 2020-11-13 长扬科技(北京)有限公司 一种基于b/s架构的权限控制方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050108257A1 (en) * 2003-11-19 2005-05-19 Yohsuke Ishii Emergency access interception according to black list
CN101276271A (zh) * 2007-03-29 2008-10-01 北京邮电大学 一种面向切面编程的拦截器系统及方法
CN103412766A (zh) * 2013-09-05 2013-11-27 曙光云计算技术有限公司 基于用户权限的数据访问方法和装置
CN106529229A (zh) * 2015-09-10 2017-03-22 北京国双科技有限公司 权限数据的处理方法和装置
CN106778341A (zh) * 2016-12-02 2017-05-31 华北计算技术研究所(中国电子科技集团公司第十五研究所) 数据权限管理系统及方法
CN107317826A (zh) * 2017-08-05 2017-11-03 中山大学 一种基于拦截器实现java网络系统权限管理的方法
CN109684793A (zh) * 2018-12-29 2019-04-26 北京神舟航天软件技术有限公司 一种基于权限域结构树进行数据权限管理的方法
CN111385264A (zh) * 2018-12-29 2020-07-07 卓望数码技术(深圳)有限公司 一种通信业务数据访问系统和方法
CN111931133A (zh) * 2019-12-26 2020-11-13 长扬科技(北京)有限公司 一种基于b/s架构的权限控制方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113420327A (zh) * 2021-06-23 2021-09-21 平安国际智慧城市科技股份有限公司 数据权限控制方法、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11157629B2 (en) Identity risk and cyber access risk engine
CN110457891B (zh) 一种权限配置界面显示方法、装置、终端以及存储介质
US9411977B2 (en) System and method for enforcing role membership removal requirements
CN100492357C (zh) 最优化行级别数据库安全的系统和方法
CN112182619A (zh) 基于用户权限的业务处理方法、系统及电子设备和介质
US20100262625A1 (en) Method and system for fine-granularity access control for database entities
US20020083059A1 (en) Workflow access control
US20110219425A1 (en) Access control using roles and multi-dimensional constraints
US8719894B2 (en) Federated role provisioning
CN102231693A (zh) 访问权限的管理方法及装置
CN103473078B (zh) 一种生成报表的方法
KR101111162B1 (ko) 개인정보 은닉화를 수행하는 db보안 방법
KR102032964B1 (ko) 물류 업무 전산화 시스템
US8214382B1 (en) Database predicate constraints on structured query language statements
CN112818391A (zh) 一种基于切面编程的权限控制方法
CN110992005B (zh) 大数据应用中实现数据权限控制处理的方法及其系统
Fuchs et al. Minimizing insider misuse through secure Identity Management
CN117407893A (zh) 基于api配置的数据权限管理方法、装置、设备和介质
CN101167040B (zh) 通过不规则读操作向外围设备发信号
US11816238B2 (en) Assignment of computer privileges to user based on automated skill estimate
CN116383804A (zh) 一种权限管理方法、装置、设备、介质及程序产品
Ma et al. A new approach for detecting access control vulnerabilities
CN112926071A (zh) 一种基于政务云管理平台实现的多层级数据权限控制方法
Blanco et al. Applying QVT in order to implement secure data warehouses in SQL Server Analysis Services
He et al. Design of policy language expression in SIoT

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination