首页 > 其他分享 >SpringBoot增加管理后台登录拦截器验证用户登录

SpringBoot增加管理后台登录拦截器验证用户登录

时间:2024-07-18 15:45:16浏览次数:13  
标签:拦截器 SpringBoot 登录 admin request Override public

一、增加拦截器
@Component
public class AdminLoginInterceptor implements HandlerInterceptor {

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
    String requestServletPath = request.getServletPath();
    if (requestServletPath.startsWith("/admin") && null == request.getSession().getAttribute("loginUser")) {
        request.getSession().setAttribute("errorMsg", "请登陆");
        response.sendRedirect(request.getContextPath() + "/admin/login");
        return false;
    } else {
        request.getSession().removeAttribute("errorMsg");
        return true;
    }
}

@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}

@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

}

}

二、将验证登录拦截器添加到拦截器链
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Autowired
private AdminLoginInterceptor adminLoginInterceptor;

@Override
public void addInterceptors(InterceptorRegistry registry) {
    // 添加一个拦截器,拦截以/admin为前缀的url路径(后台登陆拦截)
    registry.addInterceptor(adminLoginInterceptor)
            .addPathPatterns("/admin/**")
            // 放行登录地址
            .excludePathPatterns("/admin/login")
            // 放行静态资源
            .excludePathPatterns("/admin/dist/**")
            .excludePathPatterns("/admin/plugins/**");
}

}

标签:拦截器,SpringBoot,登录,admin,request,Override,public
From: https://www.cnblogs.com/velloLei/p/18309641

相关文章

  • 过滤器(Filter)和拦截器(Interceptor)的执行顺序和区别
    https://www.cnblogs.com/kuotian/p/13176186.html过滤器FilterFilter有如下几个用处。Filter有如下几个种类。javax.servlet.Filter接口1.通过@WebFilter注解配置2.通过@Bean来配置3.SpringMVC在web.xml配置过滤器启动测试拦截器InterceptorHandlerIn......
  • springboot整合mqtt
    安装emqxhttps://blog.csdn.net/weixin_41542513/article/details/134328627springboot整合mqtt1、引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-integration&l......
  • springboot博客交流平台-计算机毕业设计源码56406
    摘要博客交流平台作为一种重要的网络平台,为用户提供了展示自我、分享经验和与他人互动的空间。在国内外,研究者们关注博客交流平台的各个方面,并取得了显著的进展。研究内容主要包括用户体验和界面设计、社交化和互动性、多媒体内容支持、移动设备适配和跨平台体验、数据分析......
  • springboot访问多个mysql数据库配置多数据源
    一、参考地址:https://github.com/baomidou/dynamic-datasource二、使用方法引入dynamic-datasource-spring-boot-starter或者dynamic-datasource-spring-boot3-starter。spring-boot1.5.x2.x.x点击查看代码<dependency><groupId>com.baomidou</groupId><art......
  • SpringBoot整合MyBatis+MySQL
    一、添加mysql驱动mysqlmysql-connector-java二、添加MyBatis依赖org.mybatis.spring.bootmybatis-spring-boot-starter3.0.1三、添加配置spring:datasource:name:xx-datasourcedriverClassName:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://127.0.0.1:3306/xx-......
  • SpringBoot 跨域请求处理全攻略:从原理到实践
    文章目录SpringBoot如何处理跨域请求?你能说出几种方法?跨域请求概述跨域解决方案1.使用@CrossOrigin注解2.使用WebMvcConfigurer配置类3.使用过滤器(Filter)4.使用SpringSecurity处理CORS5.使用SpringCloudGateway处理CORS补充1.预检请求(PreflightRequests)2.其......
  • SpringBoot与Thymeleaf模板技术整合
    以下是一个简单的SpringBoot整合Thymeleaf的入门案例:1.创建一个SpringBoot项目,并添加Thymeleaf依赖。org.springframework.bootspring-boot-starter-thymeleaforg.springframework.bootspring-boot-starter-web2.在src/main/resources/templates目录下创建一个HTML模......
  • 深入探讨:Node.js、Vue、SSH服务与SSH免密登录
    深入探讨:Node.js、Vue、SSH服务与SSH免密登录在这篇博客中,我们将深入探讨如何在项目中使用Node.js和Vue,并配置SSH服务以及实现SSH免密登录。我们会一步步地进行讲解,并提供代码示例,确保你能轻松上手。一、Node.js与Vue的结合1.1Node.js简介Node.js是一个基于ChromeV8......
  • 基于java+springboot+vue的影视影院订票选座管理系统(源码+LW+部署讲解)
    前言......
  • 基于java+springboot+vue的学生毕业离校系统(源码+LW+部署讲解)
    前言......