非基于spring security的拦截器

2020-01-31  本文已影响0人  极客_Ls

壹.拦截器

实现HandlerInterceptor接口,重写preHandle方法

package com.lhh.pan.interceptor;

import com.lhh.pan.model.UserAuthenDTO;
import com.sun.deploy.net.HttpResponse;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashSet;
import java.util.Set;

public class SimpleInterceptor implements HandlerInterceptor{

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        UserAuthenDTO userAuthenDTO = (UserAuthenDTO) request.getSession().getAttribute(UserAuthenDTO.SESSION_USER_KEY);
        String requestUrl = request.getRequestURI();
        System.out.println(requestUrl+"=====================================");
        Set set = new HashSet();
        set.add("1");
        if (userAuthenDTO == null){
            writeContent(response,"请先登录");
        }else {
            userAuthenDTO.setAuthorities(set);
            if (userAuthenDTO.getAuthorities() != null && userAuthenDTO.getAuthorities().contains("1")
                    && requestUrl.contains("/index")){
                return true;
            }
            writeContent(response,"不好意思,没有权限");
        }
        return false;
    }


    private void writeContent(HttpServletResponse response,String msg){
        response.setContentType("text/html;charset=UTF-8");
        try{
            PrintWriter printWriter = response.getWriter();
            printWriter.print(msg);
            printWriter.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }

}

贰.注册拦截器

在 WebMvcConfigurer 的实现类中重写addInterceptors方法

@Override
public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new SimpleInterceptor()).addPathPatterns("/index");
}
上一篇 下一篇

猜你喜欢

热点阅读