CN113449323A - 一种结合权限控制的数据隔离系统 - Google Patents
一种结合权限控制的数据隔离系统 Download PDFInfo
- Publication number
- CN113449323A CN113449323A CN202110809704.3A CN202110809704A CN113449323A CN 113449323 A CN113449323 A CN 113449323A CN 202110809704 A CN202110809704 A CN 202110809704A CN 113449323 A CN113449323 A CN 113449323A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- interface
- configuration
- isolation
- 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
- 238000002955 isolation Methods 0.000 title claims abstract description 83
- 238000012795 verification Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000012552 review Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
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/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种结合权限控制的数据隔离系统,包括顺次布设的框架层、业务接口层、业务逻辑层和数据访问层,通过框架层进行查询请求的输入和查询结果的输出,对输入的查询请求校验、获取接口类别、获取注解配置和隔离配置,通过业务接口层和业务逻辑层传输至数据访问层后,提取第一级数据,数据返回过程中获取校验配置,对第一级数据进行校验,完成数据隔离并输出第二级数据或报错。本发明针对仅系统用户类型可见的数据隔离类型,对简单的数据隔离场景灵活性高,时效性快,可以通过平台配置并开启权限校验即时生效,减少对业务接口代码的侵入,灵活性的注解配置可以减少业务层获取并构建数据隔离条件参数的代码。
Description
技术领域
本发明涉及电数字数据处理的技术领域,特别涉及一种结合权限控制的数据隔离系统。
背景技术
针对SaaS平台的多租户模型,当服务端接口给客户端或管理后台提供数据时,需根据当前登录用户类型以及用户可见租户进行有区分的数据展示,避免用户看到不属于其可见范围内的数据,因此服务端的接口需要进行数据隔离的处理。多租户数据存储在相同的数据库表中,通过租户ID字段进行数据隔离的方案成本低且支持大量租户,但数据隔离级别低,需要通过给查询SQL添加过滤条件实现数据隔离。
目前针对这种隔离级别的数据隔离方案,一般是在业务接口层获取当前用户相关的隔离查询条件,并传递到数据层查询数据,如图1所示,这种方案存在对业务代码的侵入性,即业务接口中需添加获取隔离查询条件的代码,并且对于简单的数据隔离控制灵活性低、时效性差(例如:仅系统用户可见的数据隔离),需要代码开发才能完成数据隔离。
发明内容
本发明解决了现有技术中存在的问题,提供了一种优化的结合权限控制的数据隔离系统。
本发明所采用的技术方案是,一种结合权限控制的数据隔离系统,所述数据隔离系统包括顺次布设的框架层、业务接口层、业务逻辑层和数据访问层;
通过框架层进行查询请求的输入和查询结果的输出,对输入的查询请求校验、获取接口类别、获取注解配置和隔离配置,通过业务接口层和业务逻辑层传输至数据访问层后,提取第一级数据,数据返回过程中获取校验配置,对第一级数据进行校验,完成数据隔离并输出第二级数据或报错。
优选地,所述数据访问层配置有数据库,所述数据库内设有系统的接口信息。
优选地,所述接口信息包括对应任一URL是否开启权限校验及对应接口可见的用户类型列表。
优选地,若当前访问的业务接口属于列表查询,则根据接口配置的数据隔离类型,获取数据隔离的条件参数并封装到业务接口的参数中,业务接口正常执行原有的业务逻辑,查询并返回列表数据。
优选地,若当前访问的业务接口属于详情查询,执行查询逻辑,返回查询结果后,根据配置的数据隔离字段校验当前用户是否有权限查看该记录,有权限查看则正常返回;无权限查看则提示“无权限操作”。
优选地,所述系统对数据隔离包括以下步骤:
步骤1:输入查询请求;
步骤2:判断是否开启权限校验,若是,则进行下一步,否则直接返回无权限限制至业务接口层;
步骤3:对用户类型进行校验,若校验失败,则反馈异常并拒绝访问,否则进行下一步;
步骤4:若当前业务接口为列表查询接口则获取注解配置和隔离配置,否则直接以无隔离配置反馈至业务接口层;
步骤5:通过业务接口层和业务逻辑层传输至数据访问层后,提取第一级数据;
步骤6:若当前业务接口为详情查询接口则获取校验配置并基于校验配置处理第一级数据,否则直接输出第二级数据。
优选地,所述步骤4中,若当前业务接口为列表查询接口,则根据接口方法上配置的注解,获取数据隔离的条件参数,封装参数后,返回业务接口层。
优选地,所述步骤6中,当业务接口为详情查询接口时,根据接口方法上的校验配置,校验当前第一级数据是否对当前用户可见,若是,则完成数据隔离并输出第二级数据,否则报错,提示“无权限操作”。
优选地,所述校验配置包括配置的数据隔离字段。
优选地,所述框架层设有复核区,步骤3中进行用户校验后,复核区向管理端复核当前用户对应的校验配置,若与框架层存储的不一致则更新框架层中当前用户对应的校验配置。
本发明涉及一种优化的结合权限控制的数据隔离系统,包括顺次布设的框架层、业务接口层、业务逻辑层和数据访问层,通过框架层进行查询请求的输入和查询结果的输出,对输入的查询请求校验、获取接口类别、获取注解配置和隔离配置,通过业务接口层和业务逻辑层传输至数据访问层后,提取第一级数据,数据返回过程中获取校验配置,对第一级数据进行校验,完成数据隔离并输出第二级数据或报错。
本发明使得工作性能提高,成本、能量损耗减少,稳定性增强,操作、控制、使用简便,结合接口的权限控制,针对仅系统用户类型可见的数据隔离类型,对简单的数据隔离场景灵活性高,时效性快,可以通过平台配置并开启权限校验即时生效,减少对业务接口代码的侵入,灵活性的注解配置可以减少业务层获取并构建数据隔离条件参数的代码。
附图说明
图1为现有技术中的数据隔离流程图;
图2为本发明的系统的数据隔离流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。
本发明涉及一种结合权限控制的数据隔离系统,所述数据隔离系统包括顺次布设的框架层、业务接口层、业务逻辑层和数据访问层;
通过框架层进行查询请求的输入和查询结果的输出,对输入的查询请求校验、获取接口类别、获取注解配置和隔离配置,通过业务接口层和业务逻辑层传输至数据访问层后,提取第一级数据,数据返回过程中获取校验配置,对第一级数据进行校验,完成数据隔离并输出第二级数据或报错。
本发明中,系统的前置要求为已支持接口级别的管理,即在数据库中维护了系统中所有的接口信息,定义配置数据隔离的方法级注解及对应逻辑处理的切面。
本发明中,通过方法级注解配置的方式,获取用于数据隔离的参数并注入,针对获取详情的接口在数据返回前进行数据隔离的校验,避免在接口中额外添加获取并设置数据隔离参数的代码,使接口中只有业务代码,同时结合全局过滤器对接口访问实现权限控制,实现更有效的数据隔离。
所述数据访问层配置有数据库,所述数据库内设有系统的接口信息。
所述接口信息包括对应任一URL是否开启权限校验及对应接口可见的用户类型列表。
本发明中,将系统的接口信息维护在数据库中,维护信息包括但不限于是否开启权限校验、接口可见的用户类型列表。
若当前访问的业务接口属于列表查询,则根据接口配置的数据隔离类型,获取数据隔离的条件参数并封装到业务接口的参数中,业务接口正常执行原有的业务逻辑,查询并返回列表数据。
若当前访问的业务接口属于详情查询,执行查询逻辑,返回查询结果后,根据配置的数据隔离字段校验当前用户是否有权限查看该记录,有权限查看则正常返回;无权限查看则提示“无权限操作”。
所述系统对数据隔离包括以下步骤:
步骤1:输入查询请求;
步骤2:判断是否开启权限校验,若是,则进行下一步,否则直接返回无权限限制至业务接口层;
步骤3:对用户类型进行校验,若校验失败,则反馈异常并拒绝访问,否则进行下一步;
步骤4:若当前业务接口为列表查询接口则获取注解配置和隔离配置,否则直接以无隔离配置反馈至业务接口层;
所述步骤4中,若当前业务接口为列表查询接口,则根据接口方法上配置的注解,获取数据隔离的条件参数,封装参数后,返回业务接口层。
步骤5:通过业务接口层和业务逻辑层传输至数据访问层后,提取第一级数据;
步骤6:若当前业务接口为详情查询接口则获取校验配置并基于校验配置处理第一级数据,否则直接输出第二级数据。
所述步骤6中,当业务接口为详情查询接口时,根据接口方法上的校验配置,校验当前第一级数据是否对当前用户可见,若是,则完成数据隔离并输出第二级数据,否则报错,提示“无权限操作”。
所述校验配置包括配置的数据隔离字段。
所述框架层设有复核区,步骤3中进行用户校验后,复核区向管理端复核当前用户对应的校验配置,若与框架层存储的不一致则更新框架层中当前用户对应的校验配置。
本发明中,对于列表查询,在进行必要的用户校验和依注解隔离后即可输出,但是在输出的过程中需要判定是否同时带有详情查询,若是则需要再次对用户进行校验,只有完成校验才可以输出针对不同用户类型的详情数据。
本发明中,为了防止用户信息的更新,需要在框架层设置复核区,复核区独立存在,防止被非法用户劫持,当完成用户校验后,由复核区执行用户校验配置的复核,不一致时需要更新,且这种情况下,用户由于通过了步骤3的校验,故一般情况下都是历史在案的可获取用户成员,但是存在被除名或扩大隔离面的风险,复核区的存在可以有效弥补系统内部更新不及时的问题,有效保护数据,有效隔离。
Claims (10)
1.一种结合权限控制的数据隔离系统,其特征在于:所述数据隔离系统包括顺次布设的框架层、业务接口层、业务逻辑层和数据访问层;
通过框架层进行查询请求的输入和查询结果的输出,对输入的查询请求校验、获取接口类别、获取注解配置和隔离配置,通过业务接口层和业务逻辑层传输至数据访问层后,提取第一级数据,数据返回过程中获取校验配置,对第一级数据进行校验,完成数据隔离并输出第二级数据或报错。
2.根据权利要求1所述的一种结合权限控制的数据隔离系统,其特征在于:所述数据访问层配置有数据库,所述数据库内设有系统的接口信息。
3.根据权利要求2所述的一种结合权限控制的数据隔离系统,其特征在于:所述接口信息包括对应任一URL是否开启权限校验及对应接口可见的用户类型列表。
4.根据权利要求1所述的一种结合权限控制的数据隔离系统,其特征在于:若当前访问的业务接口属于列表查询,则根据接口配置的数据隔离类型,获取数据隔离的条件参数并封装到业务接口的参数中,业务接口正常执行原有的业务逻辑,查询并返回列表数据。
5.根据权利要求1所述的一种结合权限控制的数据隔离系统,其特征在于:若当前访问的业务接口属于详情查询,执行查询逻辑,返回查询结果后,根据配置的数据隔离字段校验当前用户是否有权限查看该记录,有权限查看则正常返回;无权限查看则提示“无权限操作”。
6.根据权利要求1所述的一种结合权限控制的数据隔离系统,其特征在于:所述系统对数据隔离包括以下步骤:
步骤1:输入查询请求;
步骤2:判断是否开启权限校验,若是,则进行下一步,否则直接返回无权限限制至业务接口层;
步骤3:对用户类型进行校验,若校验失败,则反馈异常并拒绝访问,否则进行下一步;
步骤4:若当前业务接口为列表查询接口则获取注解配置和隔离配置,否则直接以无隔离配置反馈至业务接口层;
步骤5:通过业务接口层和业务逻辑层传输至数据访问层后,提取第一级数据;
步骤6:若当前业务接口为详情查询接口则获取校验配置并基于校验配置处理第一级数据,否则直接输出第二级数据。
7.根据权利要求6所述的一种结合权限控制的数据隔离系统,其特征在于:所述步骤4中,若当前业务接口为列表查询接口,则根据接口方法上配置的注解,获取数据隔离的条件参数,封装参数后,返回业务接口层。
8.根据权利要求6所述的一种结合权限控制的数据隔离系统,其特征在于:所述步骤6中,当业务接口为详情查询接口时,根据接口方法上的校验配置,校验当前第一级数据是否对当前用户可见,若是,则完成数据隔离并输出第二级数据,否则报错,提示“无权限操作”。
9.根据权利要求8所述的一种结合权限控制的数据隔离系统,其特征在于:所述校验配置包括配置的数据隔离字段。
10.根据权利要求6所述的一种结合权限控制的数据隔离系统,其特征在于:所述框架层设有复核区,步骤3中进行用户校验后,复核区向管理端复核当前用户对应的校验配置,若与框架层存储的不一致则更新框架层中当前用户对应的校验配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110809704.3A CN113449323A (zh) | 2021-07-17 | 2021-07-17 | 一种结合权限控制的数据隔离系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110809704.3A CN113449323A (zh) | 2021-07-17 | 2021-07-17 | 一种结合权限控制的数据隔离系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113449323A true CN113449323A (zh) | 2021-09-28 |
Family
ID=77816617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110809704.3A Pending CN113449323A (zh) | 2021-07-17 | 2021-07-17 | 一种结合权限控制的数据隔离系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449323A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241028A (zh) * | 2018-08-02 | 2019-01-18 | 山东浪潮通软信息科技有限公司 | 一种基于Mycat的数据库多租户实现方法 |
CN112035858A (zh) * | 2020-08-28 | 2020-12-04 | 中国建设银行股份有限公司 | Api访问控制方法、装置、设备及介质 |
CN112464212A (zh) * | 2020-03-30 | 2021-03-09 | 上海汇招信息技术有限公司 | 基于成熟复杂业务系统的数据权限控制改造方法 |
-
2021
- 2021-07-17 CN CN202110809704.3A patent/CN113449323A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241028A (zh) * | 2018-08-02 | 2019-01-18 | 山东浪潮通软信息科技有限公司 | 一种基于Mycat的数据库多租户实现方法 |
CN112464212A (zh) * | 2020-03-30 | 2021-03-09 | 上海汇招信息技术有限公司 | 基于成熟复杂业务系统的数据权限控制改造方法 |
CN112035858A (zh) * | 2020-08-28 | 2020-12-04 | 中国建设银行股份有限公司 | Api访问控制方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
CHENG297: "《Spring AOP和自定义注解实现数据权限》", 《HTTPS://BLOG.CSDN.NET/QQ_36903131/ARTICLE/DETAILS/103613829》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236672B (zh) | 一种数据导入方法及装置 | |
CN112148509A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN111723396B (zh) | 一种基于SaaS的通用云数据隐私保护平台与方法 | |
CN111966738B (zh) | 一种通过选择前端配置自动实现后端编程的系统 | |
CN103473643A (zh) | 一种boss系统的产品管理数据稽核方法及系统 | |
CN115309566A (zh) | 一种服务接口的动态管理方法及系统 | |
CN110648126A (zh) | 支付类型配置方法、装置、服务器及存储介质 | |
CN112487075B (zh) | 一种集成关系型和非关系型数据库数据转换算子的方法 | |
CN113449323A (zh) | 一种结合权限控制的数据隔离系统 | |
CN110457351B (zh) | 一种基于政府融资平台数据信息的管理系统及管理方法 | |
CN114978865B (zh) | 基于itsm故障服务的智能派单方法、设备及介质 | |
CN112015715A (zh) | 工业互联网数据管理服务测试方法及系统 | |
CN112800064B (zh) | 一种基于Confluent社区开源版的实时大数据应用开发方法及系统 | |
CN110928712B (zh) | 一种rpc服务接口通过可视化数据库连接形成标准的方法 | |
CN104702421A (zh) | 基于Web的配置管理系统 | |
CN114356374A (zh) | 车辆数据的处理方法、装置和车辆 | |
CN112950014A (zh) | 基于业务关系矩阵的设备状态监控方法、系统及介质 | |
CN111562937A (zh) | 一种代码方法级缺陷预警方法 | |
CN110689326A (zh) | 一种供应商信息审核推荐方法 | |
CN111125130B (zh) | 面向达梦数据库的账号类型分析方法、系统及存储介质 | |
CN115827452B (zh) | 一种数据加工类型测试系统、方法、存储介质及设备 | |
CN113744820B (zh) | Edc系统中数据管理过程的流程自定义方法及系统 | |
CN115481448B (zh) | 数据获取方法、装置、服务器及存储介质 | |
CN112732516A (zh) | 一种设备监控方法及系统 | |
CN117932652A (zh) | 跨系统访问方法、装置、电子设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210928 |