CN105069035B - 实现数据访问权限控制的方法 - Google Patents
实现数据访问权限控制的方法 Download PDFInfo
- Publication number
- CN105069035B CN105069035B CN201510434185.1A CN201510434185A CN105069035B CN 105069035 B CN105069035 B CN 105069035B CN 201510434185 A CN201510434185 A CN 201510434185A CN 105069035 B CN105069035 B CN 105069035B
- Authority
- CN
- China
- Prior art keywords
- container
- user
- unique identifier
- orm
- data access
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- 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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机信息处理技术领域,提供一种实现数据访问权限控制的方法,以解决目前的数据访问权限控制存在的性能问题及安全问题,该方法包括:初始化;建立各个容器之间的关联;当用户访问系统的数据库对象时,查找对应的标识符;生成查询限定表达式;构造ORM表达式;访问结果返回。本发明提出的技术方案能够有效避免采用SQL语句拼接的方式所存在的性能问题以及安全问题。
Description
技术领域
本发明涉及计算机信息处理技术领域,特别涉及一种实现数据访问权限控制的方法。
背景技术
随着数据库产品和技术的快速发展,将数据库作为数据存储与访问的数据源应用到各种信息化系统已经成为非常成熟的应用方式,在基于数据库的信息系统中,当用户使用信息系统针对数据库特定表或系统对象进行访问时,如何对用户访问的权限进行控制为数据库访问的核心问题。
目前,数据访问权限控制一般采用如下两种方法:一种方法是采用代码固化的方式进行权限控制,这种方式比较简单但不利于后期的维护;另一种是采用灵活的数据访问权限配置,具体地,当用户在查询数据时,通过用户的数据权限临时拼接SQL语句,这种方法虽然具有一定的灵活性,但是采用SQL语句拼接的方式不符合主流ORM思想,同时也存在性能问题及安全问题。
发明内容
【要解决的技术问题】
本发明的目的是提供一种实现数据访问权限控制的方法,以解决目前的数据访问权限控制存在的性能问题及安全问题。
【技术方案】
本发明是通过以下技术方案实现的。
本发明涉及一种实现数据访问权限控制的方法,包括以下步骤:
步骤A:初始化用户容器、类型容器、权限容器和权限分配容器;
步骤B:将用户的唯一标识符存储至用户容器,将要进行访问权限控制的数据库对象的唯一标识符存储到类型容器,将权限信息的唯一标识符存储到权限容器,使用权限分配容器建立用户容器的唯一标识符、类型容器的唯一标识符、权限容器的唯一标识符之间的关联;
步骤C:当用户访问系统的数据库对象时,根据权限分配容器查找该用户的唯一标识符、与用户的唯一标识符对应的类型唯一标识符、与类型的唯一标识符对应的权限信息的唯一标识符,并为用户创建ORM查询表达式;
步骤D:通过权限信息的唯一标识符获取权限信息,将权限信息转换成ORM 能够识别的查询限定表达式;
步骤E:将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式。
作为一种优选的实施方式,所述步骤E之后还包括:系统根据步骤E中组合得到的ORM表达式将访问结果返回给用户。
作为另一种优选的实施方式,步骤E中,通过逻辑与的方式将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式。
作为另一种优选的实施方式,所述权限信息包括“可访问字段”与“权限代码”。
作为另一种优选的实施方式,所述权限信息的类型为Json字符串。
作为另一种优选的实施方式,所述数据库对象为数据库表。
【有益效果】
本发明提出的技术方案具有以下有益效果:
本发明基于ORM思想实现数据访问权限控制,具体地,通过将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式,实现数据访问权限的控制,本发明能够有效避免采用SQL语句拼接的方式所存在的性能问题以及安全问题。
附图说明
图1为本发明的实施例一提供的实现数据访问权限控制的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的具体实施方式进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
图1为本发明实施例一提供的实现数据访问权限控制的方法的流程图。如图1所示,该方法包括步骤S1至步骤S6,下面分别对步骤S1至步骤S6进行详细描述。
步骤S1:初始化。
初始化用户容器、类型容器、权限容器和权限分配容器。
步骤S2:建立各个容器之间的关联。
将用户的唯一标识符存储至用户容器,将要进行访问权限控制的数据库对象的唯一标识符存储到类型容器,将权限信息的唯一标识符存储到权限容器,使用权限分配容器建立用户容器的唯一标识符、类型容器的唯一标识符、权限容器的唯一标识符之间的关联。
步骤S3:当用户访问系统的数据库对象时,查找对应的标识符。
步骤S3中,当用户访问系统的数据库对象时,根据权限分配容器查找该用户的唯一标识符、与用户的唯一标识符对应的类型(即要进行访问权限控制的数据库对象)的唯一标识符、与类型的唯一标识符对应的权限信息的唯一标识符。本实施中,数据库对象为数据库表,另外,系统还为用户创建ORM查询表达式。本实施例中,假设用户工号337登录系统,在系统的客户名称中,输入“客户名称1”,点击查询,则根据权限分配容器查找用户工号337在用户容器中的唯一标识符,查找“客户信息”这种类型在类型容器中对应的唯一标识符,权限分配容器查找得到此用户的唯一标识符、类型的唯一标识对应的权限信息的唯一标识符,同时还为工号337的用户创建ORM查询表达式。
步骤S4:生成查询限定表达式。
步骤S4中,通过权限信息的唯一标识符获取权限信息,将权限信息转换成 ORM能够识别的查询限定表达式,本实施例中,将创建客户名称为“客户名称 1”的ORM查询限定表达式。另外,本实施例中的权限信息包括“可访问字段”与“权限代码”。权限信息的类型为Json字符串。本实施例中,可访问字段如“[客户名,地址]”,权限代码如“[{"Field":"服务人员 ","Operator":"Equals","Relation":"And","Value":"用户.工号"}]”,两个字段信息的格式均为Json字符串格式。
步骤S5:构造ORM表达式。
步骤S5中,将系统为用户创建的ORM查询表达式与步骤S4中得到的查询限定表达式组合成ORM表达式。具体地,通过逻辑与的方式将系统为用户创建的ORM查询表达式与步骤S4中得到的查询限定表达式组合成ORM表达式。
步骤S6:访问结果返回。
步骤S6中,系统根据步骤S5中组合得到的ORM表达式将访问结果返回给用户。具体地,系统“将客户名称1”对应的客户信息返回给工号为337的用户。
从以上实施例可以看出,本发明实施例基于ORM思想实现数据访问权限控制,具体地,通过将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式,实现数据访问权限的控制,本发明实施例能够有效避免采用SQL语句拼接的方式所存在的性能问题以及安全问题。
Claims (4)
1.一种实现数据访问权限控制的方法,其特征在于包括以下步骤:
步骤A:初始化用户容器、类型容器、权限容器和权限分配容器;
步骤B:将用户的唯一标识符存储至用户容器,将要进行访问权限控制的数据库对象的唯一标识符存储到类型容器,将权限信息的唯一标识符存储到权限容器,使用权限分配容器建立用户容器的唯一标识符、类型容器的唯一标识符、权限容器的唯一标识符之间的关联;
步骤C:当用户访问系统的数据库对象时,根据权限分配容器查找该用户的唯一标识符、与用户的唯一标识符对应的类型的唯一标识符、与类型的唯一标识符对应的权限信息的唯一标识符,并为用户创建ORM查询表达式;
步骤D:通过权限信息的唯一标识符获取权限信息,将权限信息转换成ORM能够识别的查询限定表达式;
步骤E:将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式;
所述权限信息包括“可访问字段”与“权限代码”;
所述权限信息的类型为Json字符串。
2.根据权利要求1所述的实现数据访问权限控制的方法,其特征在于所述步骤E之后还包括:系统根据步骤E中组合得到的ORM表达式将访问结果返回给用户。
3.根据权利要求1或2所述的实现数据访问权限控制的方法,其特征在于所述步骤E中,通过逻辑与的方式将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式。
4.根据权利要求1或2所述的实现数据访问权限控制的方法,其特征在于所述数据库对象为数据库表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510434185.1A CN105069035B (zh) | 2015-07-22 | 2015-07-22 | 实现数据访问权限控制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510434185.1A CN105069035B (zh) | 2015-07-22 | 2015-07-22 | 实现数据访问权限控制的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105069035A CN105069035A (zh) | 2015-11-18 |
CN105069035B true CN105069035B (zh) | 2018-10-09 |
Family
ID=54498407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510434185.1A Active CN105069035B (zh) | 2015-07-22 | 2015-07-22 | 实现数据访问权限控制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105069035B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679414A (zh) * | 2017-09-25 | 2018-02-09 | 用友网络科技股份有限公司 | 数据权限管理方法、装置、计算机设备和可读存储介质 |
US11190938B2 (en) * | 2017-09-29 | 2021-11-30 | Huawei Technologies Co., Ltd. | Device identifier access method and apparatus |
CN109522751B (zh) * | 2018-12-17 | 2021-08-03 | 泰康保险集团股份有限公司 | 访问权限控制方法、装置、电子设备及计算机可读介质 |
CN109889517B (zh) * | 2019-02-14 | 2021-10-12 | 广州小鹏汽车科技有限公司 | 数据处理方法、权限数据集创建方法、装置及电子设备 |
CN110704833A (zh) * | 2019-10-10 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 数据权限配置方法、设备、电子设备及存储介质 |
CN116208379B (zh) * | 2022-12-30 | 2023-08-22 | 金茂云科技服务(北京)有限公司 | 物联网设备mqtt主题发布订阅权限校验方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051039B1 (en) * | 2001-09-28 | 2006-05-23 | Oracle International Corporation | Mechanism for uniform access control in a database system |
CN101430706A (zh) * | 2008-11-03 | 2009-05-13 | 金蝶软件(中国)有限公司 | 一种复杂对象的子对象验权方法、系统及设备 |
CN102724221A (zh) * | 2011-03-30 | 2012-10-10 | 上海微河信息科技有限公司 | 云计算企业信息系统及该系统的用户权限设定方法 |
-
2015
- 2015-07-22 CN CN201510434185.1A patent/CN105069035B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7051039B1 (en) * | 2001-09-28 | 2006-05-23 | Oracle International Corporation | Mechanism for uniform access control in a database system |
CN101430706A (zh) * | 2008-11-03 | 2009-05-13 | 金蝶软件(中国)有限公司 | 一种复杂对象的子对象验权方法、系统及设备 |
CN102724221A (zh) * | 2011-03-30 | 2012-10-10 | 上海微河信息科技有限公司 | 云计算企业信息系统及该系统的用户权限设定方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105069035A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105069035B (zh) | 实现数据访问权限控制的方法 | |
JP6736173B2 (ja) | データベースへの自然言語インタフェースのための方法、システム、記録媒体およびコンピュータ・プログラム | |
CN103973668B (zh) | 一种网络信息系统中服务器端的个人隐私数据保护方法 | |
CN103488791B (zh) | 数据访问方法、系统及数据仓库 | |
CN102713904B (zh) | 利用可缩放的数据结构的方法和装置 | |
CN106528797A (zh) | 基于Elasticsearch的DSL查询方法 | |
KR20200104789A (ko) | 데이터 저장 및 조회 방법, 장치, 기기 및 매체 | |
WO2020024904A1 (zh) | 用于搜索区块链数据的方法、设备及可读存储介质 | |
CN110457891A (zh) | 一种权限配置界面显示方法、装置、终端以及存储介质 | |
US11216474B2 (en) | Statistical processing of natural language queries of data sets | |
CN103562851A (zh) | 使用单向散列的数据扰乱和匿名化 | |
EP3452920B1 (en) | Method and system for distributed data storage with eternal integrity guarantees | |
CN105610819B (zh) | 提供服务器信息的查询服务的方法和装置 | |
CN104573022A (zh) | 一种HBase的数据查询方法及装置 | |
CN103391274B (zh) | 一种一体化网络安全管理方法和装置 | |
CN103076894B (zh) | 一种用于根据对象标识信息构建输入词条的方法与设备 | |
CN107025489A (zh) | 一种家政人员预约及智能匹配实现办法 | |
CN109284452A (zh) | 电子协议在线展示方法、装置、电子设备、存储介质 | |
US20170270316A1 (en) | Protecting search privacy using policy-based search terms | |
US20190243926A1 (en) | Wildcard searches using numeric string hash | |
CN103092982A (zh) | 基于多视图业务模型的信息服务系统 | |
CN112130846A (zh) | 一种三微一屏发布引擎系统及发布方法 | |
CN108513659A (zh) | 搜索和检索使用键控数据库维持的键控数据 | |
CN110109919A (zh) | 确定逻辑信息的方法和装置 | |
CN107145606A (zh) | 一种数据管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |