[发明专利]一种基于角色的列表数据权限控制系统和方法在审
申请号: | 201810333846.5 | 申请日: | 2018-04-13 |
公开(公告)号: | CN108509807A | 公开(公告)日: | 2018-09-07 |
发明(设计)人: | 袁超 | 申请(专利权)人: | 南京新贝金服科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210032 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 列表数据 目标系统 数据源 权限分配模块 权限控制模块 权限控制系统 权限控制 角色 数据库 数据权限控制 切面 过滤器模块 代理模块 集中管理 解析引擎 控制权限 连接目标 权限信息 灵活的 匹配 侵入 维护 开发 | ||
1.一种基于角色的列表数据权限控制系统,用于连接目标系统,其特征在于:包括列表数据权限分配模块、列表数据权限控制模块、数据源(DataSource)模块和数据库,所述列表数据权限分配模块用于匹配角色和列表数据权限控制规则,所述数据源(DataSource)模块与数据库相连,所述列表数据权限控制模块中设有过滤器模块、SQL语句解析引擎和数据源(DataSource)代理模块,所述数据源(DataSource)模块与数据源(DataSource)代理模块相连,以使数据源(DataSource)代理模块可获取数据源(DataSource)模块提交给数据库执行的SQL语句,所述过滤器模块用于获取身份信息,列表数据权限信息以及请求url,所述SQL语句解析引擎对数据源(DataSource)模块提交给数据库执行的SQL语句进行分析并根据列表数据权限分配模块中的列表数据权限控制规则添加列表数据权限控制信息,所述SQL语句解析引擎将添加了列表数据权限控制信息的SQL语句交回给数据源(DataSource)代理模块,所述数据源(DataSource)代理模块将添加了列表数据权限控制信息的SQL语句交回给数据源(DataSource)模块进行执行。
2.如权利要求1所述的一种基于角色的列表数据权限控制系统,其特征在于:所述过滤器模块为filter过滤器模块,在进行数据权限控制时,第一步需要确认访问者的身份信息,使用filter过滤器模块,filter过滤器在Java Servlet规范中定义,filter过滤器模块在处理每次请求时,会从请求中获取登录用户信息,取出列表数据权限分配模块分配给该用户的角色和角色拥有的权限数据,提供给SQL语句解析引擎使用。
3.如权利要求2所述的一种基于角色的列表数据权限控制系统,其特征在于:所述数据源(DataSource)模块与数据源(DataSource)代理模块相连所用的接口模块有DataSourceProxy implements DataSource数据源代理模块,用来接管JDBC数据源,ConnectionProxy implements Connection数据库连接代理模块,StatementProxyimplements Statement模块,PreparedStatementProxy extends StatementProxyimplements PreparedStatement、CallableStatementProxy extendsPreparedStatementProxy implements CallableStatement数据库sql执行代理模块,用来接管DataSource创建的对象,从而获取正在执行的sql。
4.一种根据权利要求1-3之一所述系统进行的基于角色的列表数据权限控制方法,其特征在于:包括如下步骤:
对列表数据权限控制规则进行设置,把列表数据权限控制规则转化为定义要访问的库表的where条件,这些定义的列表数据权限控制规则需要保存到数据库中,库表的数据结构定义为permissionkey、actionBinding、dataList三个字段,permissionkey:需要控制的表名,actionBinding:添加到这个表上的where条件,dataList:针对哪些列表进行控制;
将设置好的列表数据权限控制规则分配到角色上;
拦截数据源(DataSource)模块要提交给数据库执行的SQL语句,分析SQL语句以从中获取身份信息、列表数据权限信息以及请求url,根据身份信息获取对应角色,并根据所属角色的列表数据权限控制规则对SQL语句进行改写,再将改写后的SQL语句提交给数据库执行。
5.如权利要求4所述的一种基于角色的列表数据权限控制方法,其特征在于:所述分析SQL语句通过正则表达式完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京新贝金服科技有限公司,未经南京新贝金服科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810333846.5/1.html,转载请声明来源钻瓜专利网。