一种重写输入流实现数据权限校验的方法与流程
- 国知局
- 2024-09-11 15:00:15
本发明公开一种方法,涉及数据校验,具体地说是一种重写输入流实现数据权限校验的方法。
背景技术:
1、现有的数据权限校验方法存在校验逻辑复杂问题,每个功能都要单独写数据权限校验逻辑,将数据权限校验逻辑同业务逻辑融合在一起,违背了软件设计中“高内聚,低耦合”的原则,且存在数据权限校验逻辑和业务逻辑互相影响的问题。
2、同时,现有的数据权限校验方法还存在难于维护和迭代的问题,软件研发人员如果要升级数据权限校验逻辑,需要分别修改涉及到的所有功能,甚至会影响到所涉及功能的业务逻辑等,随着迭代的积累,功能会变得越来越难以维护,难以满足实际应用的需求,新功能的开发,也会存在开发人员忘记编写数据权限逻辑的问题,导致某些功能缺少数据权限校验。
技术实现思路
1、本发明针对现有技术的问题,提供一种重写输入流实现数据权限校验的方法,高效、准确地实现了数据权限校验,提高了系统的安全性。解决了现有业务系统中数据权限校验复杂、易出错的问题,具有广泛的使用前景。
2、本发明提出的具体方案是:
3、本发明提供一种重写输入流实现数据权限校验的方法,包括:
4、步骤1:利用重写输入流过滤器filter拦截发往前端web的客户端请求,并重写httpservletrequest对象输入流,
5、步骤2:通过拦截器inteceptor拦截到重新输入流,获取重写输入流中的请求参数,
6、步骤3:通过拦截器inteceptor根据获取的请求参数,按照角色值查询数据库校验用户的相关权限或调用相关接口校验当前登录用户操作参数中相关数据是否有效,
7、根据校验结果拦截相关客户端请求,或放行相关客户端请求进入业务控制器controller,通过业务控制器controller获取请求执行相关业务逻辑。
8、进一步,所述的一种重写输入流实现数据权限校验的方法中步骤1中构建重写输入流过滤器filter:定义filter接口,重写dofilter方法,获取客户端请求的输入流,通过bufferedreader获取输入流参数,写入到unmodifiablemap中。
9、进一步,所述的一种重写输入流实现数据权限校验的方法中步骤2中构建拦截器inteceptor:定义handlerinterceptor接口,重写prehandle方法,调用重写输入流过滤器filter,获取重写输入流中的请求参数。
10、进一步,所述的一种重写输入流实现数据权限校验的方法中步骤3中若校验结果为通过,则放行相关客户端请求进入业务控制器controller,通过业务控制器controller获取请求执行相关业务逻辑,并将执行结果返回值前端web,
11、若校验结果为不通过,则定义printwriter写入流,将相关应答数据和错误提示数据写入httpservletresponse请求体。
12、本发明还提供一种重写输入流实现数据权限校验的装置,包括过滤器管理模块、拦截器管理模块和校验模块,
13、过滤器管理模块利用重写输入流过滤器filter拦截发往前端web的客户端请求,并重写httpservletrequest对象输入流,
14、拦截器管理模块通过拦截器inteceptor拦截到重新输入流,获取重写输入流中的请求参数,
15、校验模块通过拦截器inteceptor根据获取的请求参数,按照角色值查询数据库校验用户的相关权限或调用相关接口校验当前登录用户操作参数中相关数据是否有效,
16、根据校验结果拦截相关客户端请求,或放行相关客户端请求进入业务控制器controller,通过业务控制器controller获取请求执行相关业务逻辑。
17、进一步,所述的一种重写输入流实现数据权限校验的装置的过滤器管理模块构建重写输入流过滤器filter:定义filter接口,重写dofilter方法,获取客户端请求的输入流,通过bufferedreader获取输入流参数,写入到unmodifiablemap中。
18、进一步,所述的一种重写输入流实现数据权限校验的装置的拦截器管理模块构建拦截器inteceptor:定义handlerinterceptor接口,重写prehandle方法,调用重写输入流过滤器filter,获取重写输入流中的请求参数。
19、进一步,所述的一种重写输入流实现数据权限校验的装置的校验模块执行校验后,若校验结果为通过,则放行相关客户端请求进入业务控制器controller,通过业务控制器controller获取请求执行相关业务逻辑,并将执行结果返回值前端web,
20、若校验结果为不通过,则定义printwriter写入流,将相关应答数据和错误提示数据写入httpservletresponse请求体。
21、本发明的有益之处是:
22、通过统一的数据权限拦截器,可以在业务以外实现数据权限的统一校验,有如下几点优势:
23、数据权限校验统一开发,统一维护,减少无关人员介入;
24、同业务功能解耦,让各个代码互不影响,独立运行;
25、统一的代码位置,集中,方便后期的维护;
26、请求在到达业务层前拦截,提高了拦截效率;
27、减轻了业务开发人员工作量,避免了业务开发过程中忘记添加数据权限校验的逻辑。
技术特征:1.一种重写输入流实现数据权限校验的方法,其特征是包括:
2.根据权利要求1所述的一种重写输入流实现数据权限校验的方法,其特征是步骤1中构建重写输入流过滤器filter:定义filter接口,重写dofilter方法,获取客户端请求的输入流,通过bufferedreader获取输入流参数,写入到unmodifiablemap中。
3.根据权利要求1所述的一种重写输入流实现数据权限校验的方法,其特征是步骤2中构建拦截器inteceptor:定义handlerinterceptor接口,重写prehandle方法,调用重写输入流过滤器filter,获取重写输入流中的请求参数。
4.根据权利要求1所述的一种重写输入流实现数据权限校验的方法,其特征是步骤3中若校验结果为通过,则放行相关客户端请求进入业务控制器controller,通过业务控制器controller获取请求执行相关业务逻辑,并将执行结果返回值前端web,
5.一种重写输入流实现数据权限校验的装置,其特征是包括过滤器管理模块、拦截器管理模块和校验模块,
6.根据权利要求5所述的一种重写输入流实现数据权限校验的,其特征是过滤器管理模块构建重写输入流过滤器filter:定义filter接口,重写dofilter方法,获取客户端请求的输入流,通过bufferedreader获取输入流参数,写入到unmodifiablemap中。
7.根据权利要求5所述的一种重写输入流实现数据权限校验的装置,其特征是拦截器管理模块构建拦截器inteceptor:定义handlerinterceptor接口,重写prehandle方法,调用重写输入流过滤器filter,获取重写输入流中的请求参数。
8.根据权利要求5所述的一种重写输入流实现数据权限校验的装置,其特征是校验模块执行校验后,若校验结果为通过,则放行相关客户端请求进入业务控制器controller,通过业务控制器controller获取请求执行相关业务逻辑,并将执行结果返回值前端web,
技术总结本发明公开一种重写输入流实现数据权限校验的方法,涉及数据校验技术领域;包括:步骤1:利用重写输入流过滤器Filter拦截发往前端Web的客户端请求,并重写HttpServletRequest对象输入流,步骤2:通过拦截器Inteceptor拦截到重新输入流,获取重写输入流中的请求参数,步骤3:通过拦截器Inteceptor根据获取的请求参数,按照角色值查询数据库校验用户的相关权限或调用相关接口校验当前登录用户操作参数中相关数据是否有效,根据校验结果拦截相关客户端请求,或放行相关客户端请求进入业务控制器Controller,通过业务控制器Controller获取请求执行相关业务逻辑。技术研发人员:唐在栋受保护的技术使用者:山东浪潮数字商业科技有限公司技术研发日:技术公布日:2024/9/9本文地址:https://www.jishuxx.com/zhuanli/20240911/292830.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。