备案网站查询网址,免费代理服务器proxy,自适应网页和响应式网页区别,永春网站开发业务需求
改造系统中的原先写的通过表达式拦截实现的鉴权功能。
原有逻辑 没有注释#xff08;啊啊啊啊#xff09;。 花费工时7.5小时。 步骤如下#xff1a;
获取Header头参数。校验Header头的必要参数。通过Header中获取的参数#xff0c;查询数据库入口表信息。通过…业务需求
改造系统中的原先写的通过表达式拦截实现的鉴权功能。
原有逻辑 没有注释啊啊啊啊。 花费工时7.5小时。 步骤如下
获取Header头参数。校验Header头的必要参数。通过Header中获取的参数查询数据库入口表信息。通过Header中获取的参数尝试进行验签。
实现过程
前期分析 由于需要打印前后日志所有使用环绕通知实现又需要基于注解可能要给其他服务使用使用注解比表达式更灵活。 难点1
由于要前后打印日志但是接口时通过POST方式接收涉及到读取Body数据可Web中的Body只能读取一次故这是个问题点。 解决方案 SpringMVC中也会涉及到重复读写Body的情况可以查看Spring中是否已经实现果然ContentCachingRequestWrapper这个类解决了我们的难题。
难点2
如何把包装后的Request放回去让Spring其他功能继续处理呢。 解决方案还是考虑SpringMVC中是否有实现RequestContextHolder类中**RequestContextHolder.setRequestAttributes();**方法解决这个问题。通过测试可行。
难点3
第3步要访问数据库获取入口信息如果以公用模块的方式提供其他服务使用需要提供灵活的方法。 解决方案采用桥接模式实现与抽象分离让代码变的灵活。