广告
返回顶部
首页 > 资讯 > 精选 >如何使用SpringBoot拦截器实现登录拦截
  • 488
分享到

如何使用SpringBoot拦截器实现登录拦截

2023-06-29 16:06:24 488人浏览 八月长安
摘要

小编给大家分享一下如何使用SpringBoot拦截器实现登录拦截,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!可以对URL路径进行拦截,可以用于权限验证、解决乱码

小编给大家分享一下如何使用SpringBoot拦截器实现登录拦截,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

可以对URL路径进行拦截,可以用于权限验证、解决乱码、操作日志记录、性能监控、异常处理等

如何使用SpringBoot拦截器实现登录拦截

 实现代码

新建 interceptor包

如何使用SpringBoot拦截器实现登录拦截

添加拦截器代码

package com.qcby.interceptor; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.WEB.method.HandlerMethod;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView; import javax.servlet.Http.httpservletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession; public class LoginInterceptor  implements HandlerInterceptor {     @Autowired    private HttpSession httpSession;    //Controller逻辑执行之前    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {        System.out.println("preHandle....");        String uri = request.getRequestURI();        System.out.println("当前路径"+uri);                 if (!(handler instanceof HandlerMethod)) {            return true;        }        if (httpSession.getAttribute("username") == null) {            // 未登录跳转到登录界面            throw  new RuntimeException("no login!");        } else {            return true;        }    }     //Controller逻辑执行完毕但是视图解析器还未进行解析之前    @Override    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {        System.out.println("postHandle....");    }     //Controller逻辑和视图解析器执行完毕    @Override    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {        System.out.println("afterCompletion....");    }}

注册,配置拦截路径和排除登录需访问路径

如何使用SpringBoot拦截器实现登录拦截

package com.qcby.config; import com.qcby.interceptor.LoginInterceptor;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.InterceptorReGIStry;import org.springframework.web.servlet.config.annotation.WebmvcConfigurer; @Configurationpublic class WebMvcConfig implements WebMvcConfigurer {     @Override    public void addInterceptors(InterceptorRegistry registry) {        registry.addInterceptor(loginInterceptor())                .addPathPatterns("/**")                // 那些路径不拦截                .excludePathPatterns("/user/login","/error");    }     @Bean    public LoginInterceptor loginInterceptor(){        return new LoginInterceptor();    }}

实现类

@RestController@RequestMapping("user")public class UserController {@Autowired    private UserService userService;    @Autowired    private HttpSession session;    @apiOperation("用户登录接口")    @RequestMapping(value="login",method = {RequestMethod.GET,RequestMethod.POST})    public Map<String,Object>login(User user){        Map<String,Object> map=new HashMap<>();        map.put("code",0);        if(StringUtils.isEmpty(user.getUsername())||StringUtils.isEmpty(user.getPassword())){            map.put("msg","用户或密码为空!");            return map;        }        QueryWrapper<User> queryWrapper=new QueryWrapper<>();        queryWrapper.eq("username",user.getUsername())                .eq("passWord",user.getPassword());        User user1=userService.getOne(queryWrapper);        if(user1!=null){            map.put("cod",1);            map.put("data",user1);            session.setAttribute("username",user1.getUsername());        }else {            map.put("msg","用户名或密码错误!");        }        return map;    }}

当我们未登录时我们不能进入拦截的页面 

如何使用SpringBoot拦截器实现登录拦截

 登录

如何使用SpringBoot拦截器实现登录拦截

登录之后我们就能进入hello方法了 

如何使用SpringBoot拦截器实现登录拦截

以上是“如何使用SpringBoot拦截器实现登录拦截”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何使用SpringBoot拦截器实现登录拦截

本文链接: https://www.lsjlt.com/news/325642.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot拦截器实现登录拦截
    SpringBoot拦截器可以做什么可以对URL路径进行拦截,可以用于权限验证、解决乱码、操作日志记录、性能监控、异常处理等。SpringBoot拦截器实现登录拦截pom.xml: 4.0.0 org.s...
    99+
    2015-07-20
    java教程 Spring Boot java
  • 如何使用SpringBoot拦截器实现登录拦截
    小编给大家分享一下如何使用SpringBoot拦截器实现登录拦截,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!可以对URL路径进行拦截,可以用于权限验证、解决乱码...
    99+
    2023-06-29
  • SpringBoot拦截器实现登录拦截的示例代码
    可以对URL路径进行拦截,可以用于权限验证、解决乱码、操作日志记录、性能监控、异常处理等  实现代码 新建 interceptor包 添加拦截器代码 package c...
    99+
    2022-11-13
  • SpringBoot如何实现登录拦截器
    这篇文章主要介绍“SpringBoot如何实现登录拦截器”,在日常操作中,相信很多人在SpringBoot如何实现登录拦截器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot如何实现登录拦截器...
    99+
    2023-07-02
  • SpringBoot登录验证token拦截器如何实现
    这篇文章主要讲解了“SpringBoot登录验证token拦截器如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot登录验证token拦截器如何实现”吧!用户访问接口验...
    99+
    2023-07-02
  • SpringBoot登录用户权限拦截器
    1. 创建自定义拦截器类并实现 HandlerInterceptor 接口 package com.xgf.online_mall.interceptor; import c...
    99+
    2022-11-11
  • SpringBoot登录验证token拦截器的实现
    目录注解定义token生成与验证拦截器定义拦截器配置定义拦截器的方法执行类注解使用返回值-全局异常类定义各种测试不传token制造可行的假token伪造token测试拓展:从请求中获...
    99+
    2022-11-13
  • springboot使用拦截器判断是否登录
    目录springboot拦截器判断是否登录实现拦截器的两个步骤1、自定义拦截器2、自定义配置类继承WebMvcConfigurerAdapterspringboot 增加拦截器判断是...
    99+
    2022-11-12
  • SpringBoot实现登录拦截器的方法详解
    在项目目录下建立两个包:inter 与contsfig 在inter新建层中实现HandlerInterceptor的继承类 package com.example.gamebo...
    99+
    2022-11-13
  • springboot如何使用拦截器判断是否登录
    这期内容当中小编将会给大家带来有关springboot如何使用拦截器判断是否登录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。springboot拦截器判断是否登录实现拦截器的两个步骤自定义拦截器实现Ha...
    99+
    2023-06-25
  • SpringBoot通过ThreadLocal怎么实现登录拦截
    本篇内容主要讲解“SpringBoot通过ThreadLocal怎么实现登录拦截”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot通过ThreadLocal怎么实现登录拦截”吧!...
    99+
    2023-06-30
  • SpringBoot拦截器如何使用
    这篇文章主要讲解了“SpringBoot拦截器如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot拦截器如何使用”吧!定义拦截器拦截器:所谓拦截器,就是能够在进行某个操...
    99+
    2023-06-22
  • vue+axios如何实现登录拦截
    这篇文章给大家分享的是有关vue+axios如何实现登录拦截的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。该项目是利用了Github 提供的personal token作为登录t...
    99+
    2022-10-19
  • vue如何实现http登录拦截
    今天小编给大家分享一下vue如何实现http登录拦截的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。路由文件export&nb...
    99+
    2023-07-04
  • node.js怎么实现登录拦截器
    本文小编为大家详细介绍“node.js怎么实现登录拦截器”,内容详细,步骤清晰,细节处理妥当,希望这篇“node.js怎么实现登录拦截器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先我们实现一个过滤器expo...
    99+
    2023-07-04
  • vue路由实现登录拦截
    目录一、概述二、路由导航守卫实现登录拦截一、概述 在项目开发中每一次路由的切换或者页面的刷新都需要判断用户是否已经登录,前端可以判断,后端也会进行判断的,我们前端最好也进行判断。 ...
    99+
    2022-11-11
  • Spring MVC如何实现的登录拦截器
    小编给大家分享一下Spring MVC如何实现的登录拦截器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!定义拦截器    ...
    99+
    2023-05-31
    springmvc
  • SpringMVC拦截器如何实现单点登录
    这篇文章将为大家详细讲解有关SpringMVC拦截器如何实现单点登录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。单点登录的功能在实际的应用场景中还是很重要的,逻辑上我们也不允许一个用户同时在进行着两个操...
    99+
    2023-05-30
  • SpringBoot拦截器的使用
    目录一、拦截器简介二、拦截器配置使用方式1、过滤器拦截器作用范围2、拦截器的使用三、知识点总结1、拦截器的使用2、拦截器和过滤器的相同与不同一、拦截器简介 拦截器通常通过动态代理的方...
    99+
    2022-11-12
  • SpringBoot登录用户权限拦截器的实现方法
    这篇文章主要介绍了SpringBoot登录用户权限拦截器的实现方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 创建自定义拦截器类并实现 HandlerIntercepto...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作