实现数据访问权限控制的方法技术

技术编号:12356309 阅读:112 留言:0更新日期:2015-11-20 11:39
本发明专利技术涉及计算机信息处理技术领域,提供一种实现数据访问权限控制的方法,以解决目前的数据访问权限控制存在的性能问题及安全问题,该方法包括:初始化;建立各个容器之间的关联;当用户访问系统的数据库对象时,查找对应的标识符;生成查询限定表达式;构造ORM表达式;访问结果返回。本发明专利技术提出的技术方案能够有效避免采用SQL语句拼接的方式所存在的性能问题以及安全问题。

【技术实现步骤摘要】

本专利技术涉及计算机信息处理
,特别涉及一种。
技术介绍
随着数据库产品和技术的快速发展,将数据库作为数据存储与访问的数据源应用到各种信息化系统已经成为非常成熟的应用方式,在基于数据库的信息系统中,当用户使用信息系统针对数据库特定表或系统对象进行访问时,如何对用户访问的权限进行控制为数据库访问的核心问题。目前,数据访问权限控制一般采用如下两种方法:一种方法是采用代码固化的方式进行权限控制,这种方式比较简单但不利于后期的维护;另一种是采用灵活的数据访问权限配置,具体地,当用户在查询数据时,通过用户的数据权限临时拼接SQL语句,这种方法虽然具有一定的灵活性,但是采用SQL语句拼接的方式不符合主流ORM思想,同时也存在性能问题及安全问题。
技术实现思路
【要解决的技术问题】本专利技术的目的是提供一种,以解决目前的数据访问权限控制存在的性能问题及安全问题。【技术方案】本专利技术是通过以下技术方案实现的。本专利技术涉及一种,包括以下步骤:步骤A:初始化用户容器、类型容器、权限容器和权限分配容器;步骤B:将用户的唯一标识符存储至用户容器,将要进行访问权限控制的数据库对象的唯一标识符存储到类型容器,将权限信息的唯一标识符存储到权限容器,使用权限分配容器建立用户容器的唯一标识符、类型容器的唯一标识符、权限容器的唯一标识符之间的关联;步骤C:当用户访问系统的数据库对象时,根据权限分配容器查找该用户的唯一标识符、与用户的唯一标识符对应的类型唯一标识符、与类型的唯一标识符对应的权限信息的唯一标识符,并为用户创建ORM查询表达式;步骤D:通过权限信息的唯一标识符获取权限信息,将权限信息转换成ORM能够识别的查询限定表达式;步骤E:将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式。作为一种优选的实施方式,所述步骤E之后还包括:系统根据步骤E中组合得到的ORM表达式将访问结果返回给用户。作为另一种优选的实施方式,步骤E中,通过逻辑与的方式将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式。作为另一种优选的实施方式,所述权限信息包括“可访问字段”与“权限代码”。作为另一种优选的实施方式,所述权限信息的类型为Jason字符串。作为另一种优选的实施方式,所述数据库对象为数据库表。【有益效果】本专利技术提出的技术方案具有以下有益效果:本专利技术基于ORM思想实现数据访问权限控制,具体地,通过将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式,实现数据访问权限的控制,本专利技术能够有效避免采用SQL语句拼接的方式所存在的性能问题以及安全问题。【附图说明】图1为本专利技术的实施例一提供的的流程图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图,对本专利技术的【具体实施方式】进行清楚、完整的描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部实施例,也不是对本专利技术的限制。基于本专利技术的实施例,本领域普通技术人员在不付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。图1为本专利技术实施例一提供的的流程图。如图1所示,该方法包括步骤SI至步骤S6,下面分别对步骤SI至步骤S6进行详细描述。步骤S 1:初始化。初始化用户容器、类型容器、权限容器和权限分配容器。步骤S2:建立各个容器之间的关联。将用户的唯一标识符存储至用户容器,将要进行访问权限控制的数据库对象的唯一标识符存储到类型容器,将权限信息的唯一标识符存储到权限容器,使用权限分配容器建立用户容器的唯一标识符、类型容器的唯一标识符、权限容器的唯一标识符之间的关联。步骤S3:当用户访问系统的数据库对象时,查找对应的标识符。步骤S3中,当用户访问系统的数据库对象时,根据权限分配容器查找该用户的唯一标识符、与用户的唯一标识符对应的类型(即要进行访问权限控制的数据库对象)的唯一标识符、与类型的唯一标识符对应的权限信息的唯一标识符。本实施中,数据库对象为数据库表,另外,系统还为用户创建ORM查询表达式。本实施例中,假设用户工号337登录系统,在系统的客户名称中,输入“客户名称1”,点击查询,则根据权限分配容器查找用户工号337在用户容器中的唯一标识符,查找“客户信息”这种类型在类型容器中对应的唯一标识符,权限分配容器查找得到此用户的唯一标识符、类型的唯一标识对应的权限信息的唯一标识符,同时还为工号337的用户创建ORM查询表达式。步骤S4:生成查询限定表达式。步骤S4中,通过权限信息的唯一标识符获取权限信息,将权限信息转换成ORM能够识别的查询限定表达式,本实施例中,将创建客户名称为“客户名称I ”的ORM查询限定表达式。另外,本实施例中的权限信息包括“可访问字段”与“权限代码”。权限信息的类型为Jason字符串。本实施例中,可访问字段如“”,权限代码如“ ”,两个字段信息的格式均为Jason字符串格式。步骤S5:构造ORM表达式。步骤S5中,将系统为用户创建的ORM查询表达式与步骤S4中得到的查询限定表达式组合成ORM表达式。具体地,通过逻辑与的方式将系统为用户创建的ORM查询表达式与步骤S4中得到的查询限定表达式组合成ORM表达式。步骤S6:访问结果返回。步骤S6中,系统根据步骤S5中组合得到的ORM表达式将访问结果返回给用户。具体地,系统“将客户名称I”对应的客户信息返回给工号为337的用户。从以上实施例可以看出,本专利技术实施例基于ORM思想实现数据访问权限控制,具体地,通过将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式,实现数据访问权限的控制,本专利技术实施例能够有效避免采用SQL语句拼接的方式所存在的性能问题以及安全问题。【主权项】1.一种,其特征在于包括以下步骤: 步骤A:初始化用户容器、类型容器、权限容器和权限分配容器; 步骤B:将用户的唯一标识符存储至用户容器,将要进行访问权限控制的数据库对象的唯一标识符存储到类型容器,将权限信息的唯一标识符存储到权限容器,使用权限分配容器建立用户容器的唯一标识符、类型容器的唯一标识符、权限容器的唯一标识符之间的关联; 步骤C:当用户访问系统的数据库对象时,根据权限分配容器查找该用户的唯一标识符、与用户的唯一标识符对应的类型的唯一标识符、与类型的唯一标识符对应的权限信息的唯一标识符,并为用户创建ORM查询表达式; 步骤D:通过权限信息的唯一标识符获取权限信息,将权限信息转换成ORM能够识别的查询限定表达式; 步骤E:将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式。2.根据权利要求1所述的,其特征在于所述步骤E之后还包括:系统根据步骤E中组合得到的ORM表达式将访问结果返回给用户。3.根据权利要求1或2所述的,其特征在于所述步骤E中,通过逻辑与的方式将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式。4.根据权利要求1或2所述的,其特征在于所述权限信息包括“可访问字段”与“权限代码”。5.根据权利要求4所述的,其特征在于所述权限信息的类型为Jason字符串。6.根据权利要求1或2所述的,其特征在于所述数据库对象为数据本文档来自技高网...

【技术保护点】
一种实现数据访问权限控制的方法,其特征在于包括以下步骤:步骤A:初始化用户容器、类型容器、权限容器和权限分配容器;步骤B:将用户的唯一标识符存储至用户容器,将要进行访问权限控制的数据库对象的唯一标识符存储到类型容器,将权限信息的唯一标识符存储到权限容器,使用权限分配容器建立用户容器的唯一标识符、类型容器的唯一标识符、权限容器的唯一标识符之间的关联;步骤C:当用户访问系统的数据库对象时,根据权限分配容器查找该用户的唯一标识符、与用户的唯一标识符对应的类型的唯一标识符、与类型的唯一标识符对应的权限信息的唯一标识符,并为用户创建ORM查询表达式;步骤D:通过权限信息的唯一标识符获取权限信息,将权限信息转换成ORM能够识别的查询限定表达式;步骤E:将系统为用户创建的ORM查询表达式与步骤D中得到的查询限定表达式组合成ORM表达式。

【技术特征摘要】

【专利技术属性】
技术研发人员:曹剑
申请(专利权)人:成都市卓睿科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1