springboot項目做個攔截器

生成一個類

@Component
public class UserLoginInterceptor implements HandlerInterceptor {
    protected org.slf4j.Logger logger = LoggerFactory.getLogger(getClass());

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

        HttpSession session = request.getSession(true);
        Object username=session.getAttribute("userguid");
        if(null!=username) {//已登錄
            return true;
        }else {//未登錄
            //直接重定向到登錄頁面
            //response.sendRedirect(request.getContextPath()+"/wechatplatformuser/loginRBAC.html");
            return false;
        }
    }
}

然後在你的配置類中加上

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // addPathPatterns("/**") 表示攔截所有的請求,
        // excludePathPatterns("/login", "/register") 表示除了登陸與註冊之外,因爲登陸註冊不需要登陸也可以訪問
        registry.addInterceptor(userLoginInterceptor).addPathPatterns("/**").excludePathPatterns( "/static/**","/login/logins","不需要攔截的路徑");
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章