SpringBoot 后台登录拦截

目录结构如下:
在这里插入图片描述
interceptor包下的LoginInterceptor代码如下:

package com.yx.blog.interceptor;

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginInterceptor extends HandlerInterceptorAdapter
{
    @Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response,
                             Object handler)throws Exception {

        if(request.getSession().getAttribute("user")==null)
        {//如果没有登录,响应admin
            response.sendRedirect("/admin");
            return false;//失败
        }
        return true;//成功
    }
}

WebConfig代码:

package com.yx.blog.interceptor;


import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptor())
                .addPathPatterns("/admin/**")//所有的admin路径都不能越过登录,直接操作后台
                .excludePathPatterns("/admin")//排除路径admin
                .excludePathPatterns("/admin/login");//排除/admin/login
    }
}

发布了53 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/YUEXILIULI/article/details/103166916