一般登陆等应用场景会应用到拦截器来对当前访问的用户身份进行权限检查
若当前用户处于未登录状态,则应该拦截用户的一些非法请求,来实现登陆需求
有关拦截器的介绍 ==> click here ( 特别注意执行顺序与返回的布尔值产生的行为 )
1、通过实现 HandlerInterceptor 接口自定义拦截器
上图是某个登陆功能所做的拦截器,实现三个方法,由于是登陆功能的拦截,所以只完成 pre 即可
登陆的时候在 session 中存个用户名或者其他用户标识,在拦截器中获取request对象再通过它获取session对象进行判断
若还未登陆则转发此次请求回登陆界面,让用户登陆
若登陆了则执行 true,不做任何动作
2、将自定义的拦截器添加到mvc的自动配置类中去
自定义的mvc配置类,实现了webmvcconfigurer接口
里面实现的addInterceptor方法里面添加上面创建的自定义拦截器类即可
并不是所有的链接都需要拦截,视情况而定,特别注意静态资源的拦截
在springboot1.5.xx中会自动不拦截静态资源,但是到了 2.x 版本就不是这样了