Springboot 拦截器配置(登录拦截)

注意这里环境为springboot为2.1版本


1.编写拦截器实现类,实现接口   HandlerInterceptor,

重写里面需要的三个比较常用的方法,实现自己的业务逻辑代码

(就是自己拦截器拦截时做什么处理)

package com.*.*.interceptor;import java.io.IOException;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;import com.*.*.*.User;/*** * * @Package: com.*.*.interceptor * @ClassName: AdminInterceptor * @Description:拦截器* @author: zk* @date: 2019年9月19日 下午2:20:57*/
public class AdminInterceptor implements  HandlerInterceptor {/*** 在请求处理之前进行调用(Controller方法调用之前)*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
//        System.out.println("执行了TestInterceptor的preHandle方法");try {//统一拦截(查询当前session是否存在user)(这里user会在每次登陆成功后,写入session)User user=(User)request.getSession().getAttribute("USER");if(user!=null){return true;}response.sendRedirect(request.getContextPath()+"你的登陆页地址");} catch (IOException e) {e.printStackTrace();}return false;//如果设置为false时,被请求时,拦截器执行到此处将不会继续操作//如果设置为true时,请求将会继续执行后面的操作
    }/*** 请求处理之后进行调用,但是在视图被渲染之前(Controller方法调用之后)*/@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
//         System.out.println("执行了TestInterceptor的postHandle方法");
    }/*** 在整个请求结束之后被调用,也就是在DispatcherServlet 渲染了对应的视图之后执行(主要是用于进行资源清理工作)*/@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
//        System.out.println("执行了TestInterceptor的afterCompletion方法");
    }}

2.编写拦截器配置文件类并继承  WebMvcConfigurer类,并重写其中的方法  addInterceptors并且在主类上加上注解  @Configuration

package com.*.*.config;import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import com.*.*.interceptor.AdminInterceptor;/*** * * @Package: com.*.*.config * @ClassName: LoginConfig * @Description:拦截器配置* @author: zk* @date: 2019年9月19日 下午2:18:35*/
@Configuration
public class LoginConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {//注册TestInterceptor拦截器InterceptorRegistration registration = registry.addInterceptor(new AdminInterceptor());registration.addPathPatterns("/**");                      //所有路径都被拦截registration.excludePathPatterns(                         //添加不拦截路径"你的登陆路径",            //登录"/**/*.html",            //html静态资源"/**/*.js",              //js静态资源"/**/*.css",             //css静态资源"/**/*.woff","/**/*.ttf");    }
}

这里不被拦截的路径,根据自己需求进行添加,上述主要是关于静态资源方面的


到这里后端拦截已经完成

我的项目是前后端分离的,前端使用的LayuiAdmin,借助了LayuiAdmin的前端拦截器进行相关html页面的拦截


结束

转载于:https://www.cnblogs.com/zktww/p/11550891.html

Springboot 拦截器配置(登录拦截)相关推荐

  1. java登陆拦截器_SpringBoot拦截器实现登录拦截

    SpringBoot拦截器可以做什么 可以对URL路径进行拦截,可以用于权限验证.解决乱码.操作日志记录.性能监控.异常处理等. SpringBoot拦截器实现登录拦截 pom.xml:<?xm ...

  2. java 登录拦截器_springMVC 拦截器-用户登录拦截实战

    各位小伙伴 咱们继续学习新知识 今天要分享的就是 拦截器 不知道小伙伴们平时上网的时候有没有注意到,尤其是上网购物的时候,不登录账号,就无法访问一些功能页面,比如你不登录账号,就没法查看购物车里面有什 ...

  3. Spring拦截器实现登录拦截

    hello,大家好,好久没发文章了,之前一段时间因为没遇到太好的内容.昨天研究了下登录时Spring拦截器实现功能,今天和大家分享下,有问题的话欢迎大家指出与批评,好,下面进入正题.    说起拦截器 ...

  4. Spring拦截器进行登录拦截

    拦截器: public class LoginInterceptor implements HandlerInterceptor{private static final Log log = LogF ...

  5. SpringBoot拦截器配置

    SpringBoot拦截器配置 自定义拦截器: com.example.mybatis2018.interceptor.MyInterCeptor package com.example.mybati ...

  6. vue 请求拦截器配置

    按如下步骤进行 1.request.js内容:http request请求拦截器和http response服务器响应拦截器配置 请求拦截器有一个Authorization认证,判断登录状态之后再决定 ...

  7. uniapp 拦截器-未登录跳转到登陆页面

    uniapp实现未登陆拦截 效果: 拦截器前 加了拦截器后 建一个interceptor.js //页面白名单const whiteList = ['/user-pages/bindPhone',]f ...

  8. springboot 添加拦截器之后中文乱码_spring boot 2.x 添加拦截器配置未生效的问题

    背景: 今天有一个需求需要拦截除登录相关请求以外的所有请求,并查看request 中是否包含指定的信息,而自然就想到了使用拦截器就可以轻松实现 编写拦截器,获取请求头信息中的test,并打印出来 @C ...

  9. springboot 添加拦截器之后中文乱码_springboot中配置了拦截器后,拦截器无效的解决方案之一...

    springboot的启动类xxxApplication不能扫描到拦截器配置类,可加上@ComponentScan(basePackages={"com.maya.common"} ...

  10. springboot中配置了拦截器后,拦截器无效的解决方案之一

    springboot中配置了拦截器后,拦截器无效的解决方案之一 参考文章: (1)springboot中配置了拦截器后,拦截器无效的解决方案之一 (2)https://www.cnblogs.com/ ...

最新文章

  1. JDK 14 里的调试神器了解一下?
  2. HTTP的四种请求方法
  3. WCF 4.0 REST服务解决Method Not Allowed错误
  4. Vtk出现Generic Warning时
  5. 计算机考研英语什么时候考试,计算机考研:早期复习三大注意事项
  6. thinkPHP 阿里云OSS 上传文件、直接下载
  7. 前端向后端发送请求,后端返回的一个值的请求的ajax.get();方法
  8. Linux 文件系统 软/硬链接文件
  9. 物联网技术如何驱动大数据
  10. java8 新特性实践
  11. macOS sierra 10.12 CORE Keygen系列注册机修复工具 CORE Patcher
  12. Lumerical官方案例、FDTD时域有限差分法仿真学习(一)——闪耀光栅(Blazed grating)
  13. [Google标准文档]如何做好代码评审
  14. N阶行列式计算(JAVA)
  15. VBA批量OCR识别提取身份证照片信息_OCR车牌识别系统实现停车场智能停车管理
  16. paTJPSb桌趴缀岳凳钟涸
  17. mysql 语法大全
  18. 到底要不要孩子学习机器人编程
  19. IDEA GoLand 问题 Contents have differences only in line separators
  20. 白山搜索引擎优化收费_百度搜索引擎优化收费标准

热门文章

  1. mysql identity_insert_由MYSQL SET IDENTITY_INSERT tablename ON;准确方法
  2. python时间序列如何拟合曲线_以“datetime”格式拟合时间序列的曲线?
  3. python dict下标_牛鹭学院:必须掌握的Python数据结构知识
  4. confluence统计_【漏洞预警】confluence远程代码执行漏洞(CVE-2019-3396)
  5. STL-vector容器
  6. opencv人脸关键点生成掩膜并替换
  7. tensorflow:卷积函数----tf.nn.conv2d
  8. Caffe学习系列(13):数据可视化环境(python接口)配置 jupyter notebook
  9. 2021-08-15 Servlet Properties 读取资源
  10. vba commondialog控件添加不上_MyVBA加载宏——添加自定义菜单03——功能分析