Springboot与Interceptor
絮絮叨叨: 最近在看一个项目,在登录的时候,作者用了Spring的Interceptor和WebConfig实现了对用户登录的拦截。主要涉及到两个类:HandlerInterceptorAdapter 类和 WebMvcConfigurerAdapter 类(已经过时,Spring5 已经将其摒弃)现用实现WebMvcConfigurer 接口实现。
一、遇到的问题:
不管用户是否登录,都可以访问到页面。
二、需求:
用户未登录时,不能访问相应页面,若直接访问,则跳转到登录页面。
三、解决方法:
利用 Spring 的 Interceptor 对相关页面进行拦截,判断当前是否有用户登录,若有,则跳转到相应页面;若无,则跳转到登录页面。
用到的类和接口:HandlerInterceptorAdapter 和 WebMvcConfigurer
四、具体实现:
-
定义一个Interceptor,继承HandlerInterceptorAdapter 类,重写其preHandle()方法,编写拦截的条件。
public class LoginInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //判断当前是否有用户登录,若未登录,则返回/admin页面 if (request.getSession

本文介绍了如何在Springboot项目中使用Interceptor和HandlerInterceptorAdapter实现用户登录拦截。当用户未登录尝试访问特定页面时,系统会自动跳转到登录页面。文章详细讲解了问题背景、需求、解决方法,并提供了具体的实现步骤,包括Interceptor的定义和WebConfig的配置。此外,还探讨了HandlerInterceptorAdapter的执行顺序和方法逻辑。
最低0.47元/天 解锁文章
1595

被折叠的 条评论
为什么被折叠?



