买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明公开了一种数据权限控制方法及装置,涉及电子信息技术领域。方法包括获取SQL语句;对有定义数据权限策略的SQL语句进行分割,得到若干SQL语句段;逐个遍历SQL语句段,并判断以select开始的SQL语句段是否为分割后的第一个元素;若否,对SQL语句段再次分割;若是,解析SQL语句段的表名,筛选出表名定义了数据权限策略的SQL语句段;替换表名定义了数据权限策略的SQL语句段的表名为添加了权限条件的select语句,得到若干更改后的SQL语句段;将更改后的SQL语句段重新连接,得到目标SQL语句段。本发明通过拦截由Hibernates生成的SQL语句并加以修改以达到数据权限管理,对某类数据进行权限管理,实现用户仅能查询并管理自身所在的部门下的用户信息。
主权项:1.一种数据权限控制方法,其特征在于,包括:获取SQL语句;对有定义数据权限策略的SQL语句进行分割,得到若干SQL语句段;所述对有定义数据权限策略的SQL语句进行分割,得到若干SQL语句段中,分割有定义数据权限策略的所述SQL语句,所使用的正则表达式包括判断子查询开始的正则表达式:?!\A\\s*[sS][eE][lL][eE][cC][tT][\s|?=\|*];逐个遍历所述SQL语句段,并判断以select开始的SQL语句段是否为分割后的第一个元素;若否,对SQL语句段进行二次分割;若是,解析所述SQL语句段的表名,筛选出表名定义了数据权限策略的SQL语句段;替换所述表名定义了数据权限策略的SQL语句段的表名为添加了权限条件的select语句,得到若干更改后的SQL语句段;将所述更改后的SQL语句段重新连接,得到目标SQL语句段;所述解析所述SQL语句段的表名,筛选出表名定义了数据权限策略的SQL语句段,包括:查找并标记所述SQL语句段中表的开始位置、间隔位置和截止位置;其中,所述开始位置包括from关键字的位置,所述截止位置包括所述SQL语句段的最后索引处;所述查找并标记所述SQL语句段中表的开始位置、间隔位置和截止位置,包括:利用正则表达式查找from关键字;利用正则表达式查找分隔符关键字或分隔字符;所述分隔符关键字包括left、join和或on,所述分隔字符包括逗号;利用正则表达式查找where、groupby、orderby和或having关键字;将from关键字的位置作为表的开始位置,分隔符关键字和或分隔字符作为表的间隔位置,where、groupby、orderby和或having关键字的位置作为表的截止位置;当没有查找到where、groupby、orderby和having中任一关键字时,将所述SQL语句段的最后索引处作为表的截止位置;联合所述开始位置、间隔位置和所述截止位置,筛选出表名定义了数据权限策略的SQL语句段。
全文数据:
权利要求:
百度查询: 航天精一(广东)信息科技有限公司 一种数据权限控制方法及装置
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。