CN112818391A - 一种基于切面编程的权限控制方法 - Google Patents
一种基于切面编程的权限控制方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access 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:根据用户的查询业务,注入数据权限规则查询条件,查询符合条件的业务数据。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420327A (zh) * | 2021-06-23 | 2021-09-21 | 平安国际智慧城市科技股份有限公司 | 数据权限控制方法、系统、电子设备及存储介质 |
Citations (9)
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架构的权限控制方法 |
-
2021
- 2021-01-26 CN CN202110105104.9A patent/CN112818391A/zh active Pending
Patent Citations (9)
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)
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 |