首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >spring之拦截器

spring之拦截器

作者头像
java攻城狮
发布2020-10-10 16:16:07
发布2020-10-10 16:16:07
4200
举报
文章被收录于专栏:个人积累个人积累
代码语言:javascript
复制
package com.adingxiong.pm.handler;


import com.adingxiong.pm.util.TokenUtils;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 配置token拦截器
 */
public class TokenInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //查看访问路径
        String pathUrl = request.getRequestURI();
        if(pathUrl.equals("/pm/doc.html") || pathUrl.equals("/pm/user/login")
                || pathUrl.contains("/pm/webjars/" )|| pathUrl.equals("/pm/v2/api-docs")
                || pathUrl.contains("/pm/swagger")
        ){
            return true;
        }
        //获取token
        String token = request.getHeader(TokenUtils.tokenHeader);
        if(token ==null){
            //response.sendRedirect("/pm/user/login");
            response.getWriter().append("<h1 style='text-align:center;'>Not allowed! please login and try </h1>");
            return false;
        }
        try {
            TokenUtils.getTokenBody(token);

        } catch (Exception e){
            e.printStackTrace();
            //response.sendRedirect("/pm/user/login");
            response.getWriter().append("<h1 style='text-align:center;color:red'>system error! please try  later</h1>");
            return false;
        }
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档