CN108647524B - 一种数据服务访问权限管理方法 - Google Patents
一种数据服务访问权限管理方法 Download PDFInfo
- Publication number
- CN108647524B CN108647524B CN201810398772.3A CN201810398772A CN108647524B CN 108647524 B CN108647524 B CN 108647524B CN 201810398772 A CN201810398772 A CN 201810398772A CN 108647524 B CN108647524 B CN 108647524B
- Authority
- CN
- China
- Prior art keywords
- service
- information
- requester
- cache
- inquiring
- 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
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
- 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
- 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)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据服务访问权限管理方法,包括以下步骤:发送请求:将服务编号和请求者账号为参数传递给一个HTTP请求,该HTTP请求用于获取服务的授权信息;查询服务的授权;访问管理控制。本发明可以更快的获取服务访问授权信息,提高了服务访问的效率。
Description
技术领域
本发明涉及数据管理技术领域,具体是一种数据服务访问权限管理方法。
背景技术
随着科技的的发展,人类使用各种设备产生大量的数据,由此产生的数据及增长速度将 比历史上的任何时期都要多,都要快。“大数据”时代的脚步悄然而至。
在以往数据访问控制层上,数据权限、数据访问控制存在耦合性比较高的问题,导致数 据访问控制这块不能分离出来,维护、控制和扩展都比较困难。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是使用一种数据服 务访问权限管理方法,通过服务编号和请求者的账号去数据库中查询该请求者是否有权 使用该服务,如果有权限就将该请求者访问次服务的有效时间,服务的访问次数,和授权的访问字段放入缓存中,然后进行判断,根据判断的结果决定该请求者是否能正常访 问此服务。
技术方案:为实现上述发明目的,本发明采用的技术方案为一种数据服务访问权限 管理方法,包括以下步骤:
(1)发送请求:将服务编号和请求者账号为参数传递给一个HTTP请求,该HTTP请求用于获取服务的授权信息;
(2)查询服务的授权:
2.1读取配置文件,所述配置文件包括是否启用缓存标识、缓存服务信息的键前缀、 缓存请求者授权信息的键前缀、缓存服务请求者关联信息的键前缀以及缓存服务访问次 数的键前缀;
2.2判断输入的服务编号和请求者编号是否有效,如有效则执行2.3步骤,否则返回;
2.3判断是否启用缓存,如启用缓存则执行2.4步骤,否则执行2.7步骤;
2.4根据缓存服务信息的键前缀和服务编号的结合在缓存中查询缓存服务信息,如 果查询结果有值,则使用缓存服务信息,作为下面步骤查询的条件并返回缓存服务信息, 如果没有值,则从数据库中查询服务信息,作为下面步骤查询的条件并返回服务信息,同时将服务信息使用缓存存储,服务信息的键前缀加服务编号做为存储的键;
2.5根据请求者授权信息的键前缀和请求者编号的结合在缓存中查询请求者授权信 息,如果查询结果有值,则使用缓存中的请求者授权信息作为下面步骤查询的条件并返回结果中数据,如果没有值,则从数据库中查询请求者授权信息作为下面步骤查询的条 件并返回结果中数据,同时将请求者授权信息、使用请求者授权信息的键前缀加请求者 编号作为键存储到缓存中;
2.6根据服务请求者关联信息的键前缀和请求者账号以及服务编号的结合在缓存中 查询服务请求者关联信息,如果查询结果有值,则使用缓存中的服务请求者关联信息作为返回结果中数据,如果没有值,则从数据库中查询服务请求者关联信息作为返回结果 中数据,同时将服务请求者关联信息、使用服务请求者关联信息的键前缀和请求者账号 以及服务编号的结合作为键存储到缓存中;
2.7如果缓存不启用,则直接从数据库中获取服务信息、请求者授权信息以及服务请求者关联信息,作为返回的结果信息;
2.8判断缓存是否启用,如果启用则在缓存中查询对应的请求者账号和服务信息的 结合组成的键作为查询缓存的键,查询出当前的服务访问次数,并将当前的服务访问次数与允许的服务访问次数进行比对,如果当前的服务访问次数已经和允许的服务访问次数相等,则说明已经达到最大访问次数,拒绝访问服务,如果当前的服务访问次数小于 允许的服务访问次数,则将缓存中的服务访问次数加1,并允许进行服务的访问;
(3)访问管理控制:
3.1、根据步骤2返回的结果,进行判断:
1)如果返回的结果为空,则给出“获取服务信息失败”的错误信息;
2)如果返回的服务访问次数为允许的服务访问次数,则给出“访问次数达到上限”错误信息;
3)如果主机IP和请求者账号时间不匹配,则给出“请求主机有误”和“请求者账 号过期”错误信息;
4)如果输入的参数和返回结果中的参数不一致,则给出“查询条件有误”错误信息;
5)如果以上步骤都正常通过,则执行正常功能。
进一步的,所述步骤2.8中,如服务访问次数不受限制,则直接跳过访问服务次数校验,直接进行服务的访问。
有益效果:相比于传统的方式,由于本发明使用缓存来存储服务的授权信息,可以更快的获取服务访问授权信息,提高了服务访问的效率,同时本发明使用这套集中管理 服务授权信息,使的服务访问授权更加统一化,标准化。方便使用时灵活扩展和维护。
附图说明
图1为本发明的整体流程图;
图2为启用缓存下获取服务授权信息的整体流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,根据本发明的实施例所述的服务访问控制管理方法,包括以下步骤:
构件一个java项目,该项目专门用于服务访问权限管理控制功能代码实现,该项目采用 设计模式中的代理模式将服务访问授权管理控制涉及的的权限问题抽象到一个通用的功能工 程中。提高了代码的重用性,降级了代码的维护的成本。
在该java项目通过调用“启用缓存下获取服务授权信息模块”获取服务访问授权信息。
启用缓存下获取服务授权信息模块获取是服务器访问控制授权信息的模块,如图2所示: 涉及到读取配置是否启用缓存标识,用于标识获取服务访问授权管理是否从缓存获取服务的 访问授权信息。还是直接通过查询数据库获取服务访问授权信息。
启用缓存情况下:
获取服务器信息:则使用缓存服务信息的键前缀和服务编号的结合在缓存中查询缓存服 务信息,如果查询结果有值,则使用缓存中服务信息,作为下面步骤查询的条件并返回缓存 服务信息,如果没有值,则从数据库中查询服务信息,作为下面步骤查询的条件并返回服务 信息,同时将服务信息使用缓存存储,服务信息的键前缀加服务编号做为键存储的键到缓存 中,数据结构如表1所示。
表1
获取请求者授权信息:根据请求者授权信息的键前缀和请求者编号的结合在缓存中查询 请求者授权信息,如果查询结果有值,则使用缓存中的请求者授权信息作为下面步骤查询的 条件并返回结果中数据,如果没有值,则从数据库中查询请求者授权信息作为下面步骤查询 的条件并返回结果中数据,同时将请求者授权信息、使用请求者授权信息的键前缀加请求者 编号作为键存储到缓存中,请求者授权结构如表2所示。
表2
获取服务请求者关联信息:根据服务请求者关联信息的键前缀和请求者账号以及服务编 号的结合在缓存中查询服务请求者关联信息,如果查询结果有值,则使用缓存中的服务请求 者关联信息作为返回结果中数据,如果没有值,则从数据库中查询服务请求者关联信息作为 返回结果中数据,同时将服务请求者关联信息、使用服务请求者关联信息的键前缀和请求者 账号以及服务编号的结合作为键存储到缓存中,服务请求者关联数据结构如表3所示。
表3
获取服务访问最大访问次数:在缓存中查询对应的请求者账号和服务信息的结合组成的 键作为查询缓存的键,查询出当前的服务访问次数,并将当前的服务访问次数与允许的服务 访问次数进行比对,如果当前的服务访问次数已经和允许的服务访问次数相等,则说明已经 达到最大访问次数,拒绝访问服务,如果当前的服务访问次数小于允许的服务访问次数,则 将缓存中的服务访问次数加1,并允许进行服务的访问,访问次数数据结构如表4所示。
表4
没有启用缓存时,则获取的服务信息、请求者授权信息、获取服务请求者关联信息、服 务访问最大次数则相应信息从通过查询数据库表进行关联查询。数据结构如下图表结构所示。
根据调用启用缓存下获取服务授权信息模块获取服务访问授权信息后,对每一种授权进 行判断,1)判断服务信息是否完整,如果不完整则返回错误码和错误信息,2)判断访问次数 是否达到最大,如果达到则直接返回提示码和提示信息,3)根据请求者信息判断请求主机 是否正确、请求者账号是否过期,如果主机异常或账号过期则返回响应的提示码和提示信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原 则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种数据服务访问权限管理方法,包括以下步骤:
(1)发送请求:将服务编号和请求者编号为参数传递给一个HTTP请求,该HTTP请求用于获取服务的授权信息;
(2)查询服务的授权:
2.1读取配置文件,所述配置文件包括是否启用缓存标识、缓存服务信息的键前缀、缓存请求者授权信息的键前缀、缓存服务请求者关联信息的键前缀以及缓存服务访问次数的键前缀;
2.2判断输入的服务编号和请求者编号是否有效,如有效则执行2.3步骤,否则返回;
2.3判断是否启用缓存,如启用缓存则执行2.4步骤,否则执行2.7步骤;
2.4根据缓存服务信息的键前缀和服务编号的结合在缓存中查询缓存服务信息,如果查询结果有值,则使用缓存服务信息,作为下面步骤查询的条件并返回缓存服务信息,如果没有值,则从数据库中查询服务信息,作为下面步骤查询的条件并返回服务信息,同时将服务信息使用缓存进程存储,缓存服务信息的键前缀加服务编号作为存储的键;
2.5根据请求者授权信息的键前缀和请求者编号的结合在缓存中查询请求者授权信息,如果查询结果有值,则使用缓存中的请求者授权信息作为下面步骤查询的条件并返回结果中数据,如果没有值,则从数据库中查询请求者授权信息作为下面步骤查询的条件并返回结果中数据,同时将请求者授权信息、使用请求者授权信息的键前缀加请求者编号作为键存储到缓存中;
2.6根据服务请求者关联信息的键前缀和请求者账号以及服务编号的结合在缓存中查询服务请求者关联信息,如果查询结果有值,则使用缓存中的服务请求者关联信息作为返回结果中数据,如果没有值,则从数据库中查询服务请求者关联信息作为返回结果中数据,同时将服务请求者关联信息、使用服务请求者关联信息的键前缀和请求者账号以及服务编号的结合作为键存储到缓存中;
2.7如果缓存不启用,则直接从数据库中获取服务信息、请求者授权信息以及服务请求者关联信息,作为返回的结果信息;
2.8判断缓存是否启用,如果启用则在缓存中查询对应的请求者账号和服务信息的结合组成的键作为查询缓存的键,查询出当前的服务访问次数,并将当前的服务访问次数与允许的服务访问次数进行比对,如果当前的服务访问次数已经和允许的服务访问次数相等,则说明已经达到最大访问次数,拒绝访问服务,如果当前的服务访问次数小于允许的服务访问次数,则将缓存中的服务访问次数加1,并允许进行服务的访问;
(3)访问管理控制:
3.1、根据步骤(2)返回的结果,进行判断:
1)如果返回的结果为空,则给出“获取服务信息失败”的错误信息;
2)如果返回的服务访问次数为允许的服务访问次数,则给出“访问次数达到上限”错误信息;
3)如果主机IP和请求者账号时间不匹配,则给出“请求主机有误”和“请求者账号过期”错误信息;
4)如果输入的参数和返回结果中的参数不一致,则给出“查询条件有误”错误信息;
5)如果以上步骤都正常通过,则执行正常功能。
2.根据权利要求1所述的数据服务访问权限管理方法,其特征在于:所述步骤2.8中,如服务访问次数不受限制,则直接跳过访问服务次数校验,直接进行服务的访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810398772.3A CN108647524B (zh) | 2018-04-28 | 2018-04-28 | 一种数据服务访问权限管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810398772.3A CN108647524B (zh) | 2018-04-28 | 2018-04-28 | 一种数据服务访问权限管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647524A CN108647524A (zh) | 2018-10-12 |
CN108647524B true CN108647524B (zh) | 2021-08-27 |
Family
ID=63748385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810398772.3A Active CN108647524B (zh) | 2018-04-28 | 2018-04-28 | 一种数据服务访问权限管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647524B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774901A (zh) * | 2003-05-29 | 2006-05-17 | 甲骨文国际公司 | 便于安全启动的内容缓存的方法及设备 |
CN102104607A (zh) * | 2011-03-10 | 2011-06-22 | 易程(苏州)软件股份有限公司 | 访问业务的安全控制方法、装置及系统 |
CN202025314U (zh) * | 2010-09-17 | 2011-11-02 | 北京开心人信息技术有限公司 | 一种服务器的高效缓存系统 |
CN102263809A (zh) * | 2010-05-31 | 2011-11-30 | 中国移动通信集团贵州有限公司 | 一种基于企业服务总线实现服务安全管控的方法及装置 |
CN103647811A (zh) * | 2013-11-28 | 2014-03-19 | 北京奇虎科技有限公司 | 一种实现应用访问后台服务的方法和装置 |
CN106612250A (zh) * | 2015-10-21 | 2017-05-03 | 腾讯科技(深圳)有限公司 | 资源使用权限判断系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120173412A1 (en) * | 2011-01-05 | 2012-07-05 | Google Inc. | Rights Clearance for Granular Rights |
-
2018
- 2018-04-28 CN CN201810398772.3A patent/CN108647524B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1774901A (zh) * | 2003-05-29 | 2006-05-17 | 甲骨文国际公司 | 便于安全启动的内容缓存的方法及设备 |
CN102263809A (zh) * | 2010-05-31 | 2011-11-30 | 中国移动通信集团贵州有限公司 | 一种基于企业服务总线实现服务安全管控的方法及装置 |
CN202025314U (zh) * | 2010-09-17 | 2011-11-02 | 北京开心人信息技术有限公司 | 一种服务器的高效缓存系统 |
CN102104607A (zh) * | 2011-03-10 | 2011-06-22 | 易程(苏州)软件股份有限公司 | 访问业务的安全控制方法、装置及系统 |
CN103647811A (zh) * | 2013-11-28 | 2014-03-19 | 北京奇虎科技有限公司 | 一种实现应用访问后台服务的方法和装置 |
CN106612250A (zh) * | 2015-10-21 | 2017-05-03 | 腾讯科技(深圳)有限公司 | 资源使用权限判断系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108647524A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8701168B2 (en) | Method and apparatus for associating a digital certificate with an enterprise profile | |
US8544059B2 (en) | System and method for determining effective policy profiles in a client-server architecture | |
KR102097881B1 (ko) | 단축 링크를 처리하는 방법 및 장치, 및 단축 링크 서버 | |
US8064583B1 (en) | Multiple data store authentication | |
US11379575B2 (en) | Unified user identification with automatic mapping and database absence handling | |
US20130159286A1 (en) | Generation of a query plan for accessing a database | |
US20140122684A1 (en) | Early access to user-specific data for behavior prediction | |
US8909669B2 (en) | System and method for locating and retrieving private information on a network | |
CN103946841A (zh) | 用于动态服务集成的系统和方法 | |
US20060173869A1 (en) | Method and apparatus for requestor sensitive role membership lookup | |
CN111708992B (zh) | 报表数据访问方法、装置、电子设备及存储介质 | |
CN111506589B (zh) | 基于联盟链的区块链数据服务系统、访问方法及存储介质 | |
WO2013041350A1 (en) | Method and system for domain name system based discovery of devices and objects | |
US20070005574A1 (en) | Distributed database systems and methods | |
CN111310230B (zh) | 一种空间数据处理方法、装置、设备及介质 | |
US20070150448A1 (en) | Method and apparatus for optimizing large data set retrieval | |
US7676586B2 (en) | Hierarchical federation metadata | |
CN108647524B (zh) | 一种数据服务访问权限管理方法 | |
US20070149190A1 (en) | Roaming system, mobile communication system, and mobile communication control method | |
CN101567879A (zh) | 处理终端请求的方法、服务器、设备和系统 | |
CN112860752A (zh) | 针对多方安全数据库的数据查询方法、装置及系统 | |
CN111814020A (zh) | 一种数据的获取方法和装置 | |
US20170310781A1 (en) | Object Information Processing Method and Apparatus, and ORS Application Gateway | |
CN107545026B (zh) | 一种接口名字解析树功能的实现方法和装置 | |
CN115906178B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |