拦截器

进行登录检查
从登录页面跳转到成功页面之后

为了防止表单重复提交
配置视图映射,利用重定向到成功页面

此时,在浏览器直接输入,配置的视图映射地址
也可以直接映射、跳转到成功页面
登录页面,也就失去意义了

添加拦截器,进行登录检查
通过Session检查登录请求

没有登录的用户,不能访问后台主页
当登录成功之后,把用户信息存放到Session中

session.setAttribute("loginUser", username);


LoginHandlerInterceptor
自定义拦截器,必须HandlerInterceptor接口

在目标方法执行之前,获取Session
从Session中,获取用户登录信息

如果,已经登录,放行
如果,未登录,返回登录页面

public class LoginHandlerInterceptor implements HandlerInterceptor {//目标方法执行之前@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {Object user = request.getSession().getAttribute("loginUser");if(user == null){//未登陆,返回登陆页面request.setAttribute("msg","没有权限请先登陆");request.getRequestDispatcher("/index.html").forward(request,response);return false;}else{//已登陆,放行请求return true;}}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {}
}

返回登录页面
获取转发器,转发请求到视图映射器,登录页面
request.getRequestDispatcher(“/index.html”).forward(request,response);

显示错误消息

request.setAttribute("msg","没有权限请先登陆");

注册拦截器

addInterceptors
拦截除了访问登录页面的所有请求

/**,表示任意路径下的任意请求
excludePathPatterns,表示排除哪些请求

静态资源
之前Spring MVC配置拦截器,需要排除静态资源的请求

Spring boot已经做好而来静态资源映射
不需要进行处理,静态资源也可以正常访问

//所有的WebMvcConfigurerAdapter组件都会一起起作用
@Bean //将组件注册在容器
public WebMvcConfigurerAdapter webMvcConfigurerAdapter() {WebMvcConfigurerAdapter adapter = new WebMvcConfigurerAdapter() {@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/").setViewName("login");registry.addViewController("/index.html").setViewName("login");registry.addViewController("/main.html").setViewName("dashboard");}//注册拦截器@Overridepublic void addInterceptors(InterceptorRegistry registry) {//super.addInterceptors(registry);//静态资源;  *.css , *.js//SpringBoot已经做好了静态资源映射registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**").excludePathPatterns("/index.html", "/", "/user/login");}};return adapter;
}

Spring boot拦截器登录检查相关推荐

  1. 使用spring boot拦截器实现青少年模式

    思路方法一: 便用Spring Boot拦截器采累计在线时间采实现青少年模式的步骤,可以参考以卜步骤: 1.创建一个拦截器类,实现Handlerlnterceptor 接口. 2.在拦截器类中,定义一 ...

  2. Spring Boot拦截器(WebMvcConfigurerAdapter)

    直接按我的步骤走都没有问题: 1 配置自定义的拦截器: package com.configs;import org.slf4j.Logger; import org.slf4j.LoggerFact ...

  3. 解决Spring Boot 拦截器注入service为空的问题

    解决Spring Boot 拦截器注入service为空的问题 参考文章: (1)解决Spring Boot 拦截器注入service为空的问题 (2)https://www.cnblogs.com/ ...

  4. spring boot拦截器 过滤器

    1.拦截器 登录拦截 自定义拦截路径 //全局配置继承WebMvcConfigurer接口 @Configuration public class MyHandler implements WebMv ...

  5. Spring Boot拦截器(Interceptor)详解

    写了那么久的博客,始于Python爬虫,目前专于Java学习,终于有了属于自己的小窝,欢迎各位访问我的个人网站. 文章目录 Interceptor 介绍 Interceptor 作用 自定义 Inte ...

  6. spring boot 拦截器获取controller返回的数据_高级码农Spring Boot实战与进阶之过滤器和拦截器的使用及其区别...

    众所周知的Spring Boot是很优秀的框架,它的出现简化了新Spring应用的初始搭建以及开发过程,大大减少了代码量,目前已被大多数企业认可和使用.这个专栏将对Spring Boot框架从浅入深, ...

  7. Spring Boot 拦截器

    (一)拦截器概述 1.1拦截器介绍 拦截器的作用类似于Servlet 中的Filter,都可以用于对处理器进行预处理和后处理.在Spring MVC 与Spring Boot 中使用拦截器一般是实现H ...

  8. Spring Boot 拦截器无效,不起作用

    这个问题一般是解决WebMvcConfigurerAdapter过时问题造成的.导致这个问题可能有两个原因:一个是拦截器写错了,另一个是拦截器配置错了. 1.需求是这样的 拦截所有的api请求,判断其 ...

  9. java 拦截器响应中取所有参数,spring boot拦截器中获取request post请求中的参数

    最近有一个需要从拦截器中获取post请求的参数的需求,这里记录一下处理过程中出现的问题. 首先想到的就是request.getParameter(String )方法,但是这个方法只能在get请求中取 ...

最新文章

  1. MetagenoNets:在线宏基因组网络分析实操教程
  2. Java随笔--分布式
  3. java多线程系列1:Sychronized关键字
  4. 王者荣耀服务器维护5月22,5月22日王者荣耀更新内容一览
  5. Linux一键安装PHP/JAVA环境OneinStack
  6. java实现两个整数相除保留一位小数
  7. Oracle数据类型Long需要注意的问题
  8. java 并发模型总类_java并发编程系列-内存模型基础
  9. yii输出mysql查询日志_Yii2框架设置错误日志输出到日志或数据库
  10. 科研人看过来!中国人工智能学会-华为MindSpore学术奖励基金发布通知
  11. cf Round 613
  12. Hive中Map数据类型转String类型,其中具体内容不变
  13. 施工企业应实行工程项目责任成本管理
  14. EPUB文档格式简单总结
  15. QPS,TPS,RT是什么?
  16. 域名申请(注册)的流程
  17. C#微信公众号开发实践--通过控制台程序发布图文消息(2020/8/4实测可用)
  18. VS 2010 测试功能学习(七) - RnP与Coded UI自动化测试
  19. BZOJ 1135: [POI2009]Lyz
  20. 如何把照片压缩到20k一下_怎么样才能把大于20k的照片缩小到20k之内?分享解决问题的方法...

热门文章

  1. [NOIP 2011普及组 No.4] 表达式的值
  2. springboot 单元测试
  3. 洛谷 P1703 那个什么密码2
  4. vue脚手架---vue-cli
  5. 【BZOJ 1528】 1528: [POI2005]sam-Toy Cars (贪心+堆)
  6. MongoDB 征途
  7. 直接取HANA数据库数据,动态QUERY
  8. hive中,向map类型插入数据时,需要str_to_map一下
  9. 同期及上期数据对比处理示例.sql
  10. 用java程序将GBK字符转成UTF-8编码格式(转)