zoukankan      html  css  js  c++  java
  • 拦截验证

    1.  注意如果request里面的流,被读取了一次,后面的controller层将无法读取数据。

         处理方法:将 request 封装到 SignatureRequestWrapper (继承自 HttpServletRequestWrapper) 中,从 SignatureRequestWrapper  获取流数据(getInputStream())

    2. Filter 无法直接通过 @Value 注入properties属性 ,可以通过 DelegatingFilterProxy 来处理,将Filter 交给spring来管理。具体代码:    

        SignatureFilter:

    @Component("signature")
    public class SignatureFilter implements Filter {
        
        private Logger logger = LoggerFactory.getLogger(SignatureFilter.class);
        
        @Value("${rsaKey}")
        private String rsaKey;
         ……
    }

         web.xml 配置:

        
    <filter>
            <filter-name>signature</filter-name>
            <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>signature</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    3. 通过 ContentType (request.getContentType()) 判断数据类型 (例如:application/json , application/x-www-form-urlencoded) 来决定对流的处理方式

    4. 验证规则:先对参数key值进行排序,按顺序拼接字符串,然后加上 验证码 ,对整个字符串进行加密

        参见:http://www.cnblogs.com/Jtianlin/p/7922732.html

    5. 

  • 相关阅读:
    SunOS与Solaris系统的对应关系
    多媒体笔记
    【opencv源码解析】 二、 cvtColor
    SSE笔记
    work mark
    mark ubuntu 16.04 64bit + cpu only install mtcnn
    Ubuntu12.04+Caffe (+OpenCV+CPU-only)
    Win32 编程
    抠像的一些问题
    effect
  • 原文地址:https://www.cnblogs.com/Jtianlin/p/7978829.html
Copyright © 2011-2022 走看看