zoukankan      html  css  js  c++  java
  • 在Spring Boot中使用拦截器

    Spring Boot延续了Spring MVC提供的AOP风格拦截器,拥有精细的拦截处理能力,在Spring Boot中拦截器的使用更加方便。这里只是用登录的例子来展现拦截器的基本使用。拦截器用途很广,例如可以对URL路径进行拦截,也可以用于权限验证、解决乱码、操作日志记录、性能监控、异常处理等。

    在项目中创建interceptor包,并创建一个LoginInterceptor拦截器实现HandlerInterceptor接口。
    一般用户登录功能我们可以这样实现:要么往session中写一个user,要么针对每一个user生成一个token。第二种方式更好,针对第二种方式,如果用户登录成功了,则每次请求的时候都会带上该用户的token;如果未登录成功,则没有该token,服务端可以通过检测这个token参数的有无来判断用户有没有登录成功,从而实现拦截功能。代码如下:

     每一个拦截器都需要实现HandlerInterceptor接口,实现这个接口有3种方法,每种方法会在请求调用的不同时期完成,因为我们需要在接口调用之前拦截请求并判断是否登录成功,所以这里需要使用preHandle方法,在里面写验证逻辑,最后返回true或者false,确定请求是否合法。

    (1)通过配置类注册拦截器。
    创建一个配置类InterceptorConfig,并实现WebMvcConfigurer接口,覆盖接口中的addInterceptors方法,并为该配置类添加@Configuration注解,标注此类为一个配置类,让Spring Boot扫描得到,代码如下

  • 相关阅读:
    Visual Studio 2010 C++ 属性设置基础
    Visual Studio 2010 C++ 工程文件解读
    编译Python2.7.10
    编译libmemcached
    python2.7.10 VS2015编译方法
    zlib编译方法
    Openssl VS编译方法
    STL容器
    C++数值类型与string的相互转换
    NGINX配置文件详解
  • 原文地址:https://www.cnblogs.com/callbin/p/15501429.html
Copyright © 2011-2022 走看看