拦截器

拦截器

 

先在运行之前拦截所有的程序,然后再放出一些白名单来,springboot中整合了springmvc,里面有HanderInterceptor

package com.cy.store.Interceptor;

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 LoginIntercepter implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //有requset对象中提取session
        HttpSession session = request.getSession();
        Object uid = session.getAttribute("uid");
        if(uid == null)
        {
            //用户没有登录系统重定向回到
            response.sendRedirect("/web/login.html");

            return false;
        }

        return true;
    }

}

还有注册过滤器,添加白黑名单。

package com.cy.store.config;

import com.cy.store.Interceptor.LoginIntercepter;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class LoginInterctptorConfig implements WebMvcConfigurer {



    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        HandlerInterceptor handlerInterceptor = new LoginIntercepter();

        List<String> patters = new ArrayList<>();
        patters.add("/bootstrap3/**");
        patters.add("/css/**");
        patters.add("/images/**");
        patters.add("/js/**");
        patters.add("/web/login.html");
        patters.add("/web/index.html");
        patters.add("/web/product.html");
        patters.add("/users/reg");
        patters.add("/users/login");


        registry.addInterceptor(handlerInterceptor).addPathPatterns("/**").excludePathPatterns(patters);

    }
}

记住要加一个configuration来标识

posted @ 2022-03-12 20:13  爽爽子的秃头生活  阅读(77)  评论(0)    收藏  举报