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扫描得到,代码如下

  • 相关阅读:
    程序员的健康问题
    比特币解密
    浅谈比特币
    一款能帮助程序员发现问题的软件
    微软为什么总招人黑?
    写了一个bug,最后却变成了feature,要不要修呢?
    不管你信不信,反正我信了
    Excel工作表密码保护的破解
    pip笔记(译)
    super
  • 原文地址:https://www.cnblogs.com/callbin/p/15501429.html
Copyright © 2011-2022 走看看