springboot如何使用拦截器判断是否登录
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这期内容当中小编将会给大家带来有关springboot如何使用拦截器判断是否登录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。springboot拦截器判断是否登录
千家信息网最后更新 2026年11月02日springboot如何使用拦截器判断是否登录
这期内容当中小编将会给大家带来有关springboot如何使用拦截器判断是否登录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
springboot拦截器判断是否登录
实现拦截器的两个步骤
自定义拦截器实现HandlerInterceptor接口
创建一个配置类继承WebMvcConfigurerAdapter类并重写addInterceptors方法
代码:
1、自定义拦截器
@Componentpublic class AdminLoginInterceptor implements HandlerInterceptor { // 在请求处理之前调用,只有返回true才会执行请求 @Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {// 得到session HttpSession session = httpServletRequest.getSession(true);// 得到对象 Object admin = session.getAttribute("admin");// 判断对象是否存在 if(admin!=null){ return true; }else{// 不存在则跳转到登录页 httpServletResponse.sendRedirect(httpServletRequest.getContextPath()+"/login/adminLogin"); return false; } } // 试图渲染之后执行 @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 { }}2、自定义配置类继承WebMvcConfigurerAdapter
@SpringBootConfigurationpublic class AdminLoginAdapter extends WebMvcConfigurerAdapter { @Autowired AdminLoginInterceptor adminLoginInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(adminLoginInterceptor).addPathPatterns("/admin/**").excludePathPatterns("/login/**"); super.addInterceptors(registry); }}springboot 增加拦截器判断是否登录
1、创建拦截器
package com.example.demo.interceptor;import org.slf4j.Logger;import org.slf4j.LoggerFactory;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;/** * 〈一句话功能简述〉
* 〈拦截器〉 * * @author 丶Zh2Guo * @create 2018/11/22 * @since 1.0.0 */public class LoginInterceptor implements HandlerInterceptor { private Logger logger = LoggerFactory.getLogger(LoginInterceptor.class); // 在请求处理之前,只有返回true才会执行请求 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { logger.info("[拦截器]启动登录状态拦截"); // 得到session HttpSession session = request.getSession(); logger.info("[拦截器]sessionID:" + session.getId()); // 得到用户信息 Object userInfo = session.getAttribute("userInfo"); //判断用户是否登录 if (userInfo != null) { logger.info("[拦截器]用户已经登录,用户名,密码:" + session.getAttribute("userInfo")); return true; } else { //不存在跳转至登录页 response.sendRedirect(request.getContextPath() + "/"); // 跳转到首页登录 logger.info("[拦截器]用户没有登录,已跳转到:" + request.getContextPath() + "/"); return false; } } // 视图渲染后执行 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } // 请求处理后,视图渲染前 @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { }}
2、继承WebMvcConfigureAdapter类
覆盖其addInterceptors接口,注册自定义的拦截器
@Configuration 注解一定要有
package com.example.demo.interceptor;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.InterceptorRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/** * 〈一句话功能简述〉
* 〈自定义配置类〉 * * @author 丶Zh2Guo * @create 2018/11/22 * @since 1.0.0 */@Configurationpublic class LoginConfig implements WebMvcConfigurer { /** * 该方法用于注册拦截器 * 可注册多个拦截器,多个拦截器组成一个拦截器链 */ @Override public void addInterceptors(InterceptorRegistry registry) { // addPathPatterns 添加路径 // excludePathPatterns 排除路径 registry.addInterceptor(new LoginInterceptor()) .addPathPatterns("/sys/*"); // 拦截sys路径下的url// .excludePathPatterns(""); }}
3、LoginController
/** * Copyright (C), 2017-2018, XXX有限公司 * FileName: LoginController * Author: 丶Zh2Guo * Date: 2018/11/22 11:10 * Description: 登录 * History: *
4、未登录会自动跳转到登录页面
上述就是小编为大家分享的springboot如何使用拦截器判断是否登录了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
登录
拦截器
用户
处理
一句话
信息
功能
密码
对象
用户名
视图
路径
配置
内容
只有
多个
接口
方法
分析
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技
博彦科技互联网金融
金融科技创新监管互联网金融
互联网 科技创新
美国互联网科技
镁科技互联网资讯平台
联恩商钥互联网科技有限公司
北京大学互联网科技怎么样
温州喔噻互联网科技有限公司
中国的互联网科技企业的崛起
北京华百购互联网科技有限公司
互联网金融科技公司干啥的
链环科技传统企业怎么转型互联网
互联网科技和法律行业
深圳艾果互联网通讯科技
互联网在线教育科技创业
中和天地互联网科技有限公司
互联网企业科技类企业如何做账
江苏互联网智能科技产品出厂价
求路客互联网科技电话
中关村互联网 科技集团
苏州找大状互联网科技有限公司
科技平台互联网
互联网养老 桔豆科技
互联网 科技服务平台
宜昌元轩互联网科技有限公司
西安小鹰速贷互联网科技有限公司
北京市互联网新科技
北京军民互联网科技公司
河南商务圈互联网科技有限公司