首页 > 其他分享 >拦截器

拦截器

时间:2023-11-13 14:56:54浏览次数:28  
标签:拦截器 ack request token import servlet public

package com.comen.interceptor;

import com.comen.edata.bean.User;
import com.comen.edata.tools.JwtUtil;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

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

/**
 * EDataInterceptor 继承拦截器并实现preHandle方法
 *                  负责对token校验
 */
public class EDataInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("================>拦截器");
        String ack=request.getParameter("ack");
        String userName=request.getParameter("userName");
        if (null !=ack && !"".equals(ack) && null !=userName && !"".equals(userName)){
            User user = new User();
            user.setAck(ack);
            user.setUserName(userName);
            String token = JwtUtil.createToken(user);
            response.setHeader("token",token);
            return true;
        }else {
            String token = request.getHeader("token");
            if (null !=token){
                ack=JwtUtil.verifyToken(token);
                if (null==ack){
                    return false;
                }
                return true;
            }else {
                return false;
            }
        }
    }

    @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 {

    }
}

  配置类

package com.comen.interceptor;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class EDataConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new EDataInterceptor())
                .addPathPatterns("/**");
    }
}

 

标签:拦截器,ack,request,token,import,servlet,public
From: https://www.cnblogs.com/dataleaner/p/17829060.html

相关文章

  • 12、SpringMVC之拦截器
    12.1、环境搭建创建名为spring_mvc_interceptor的新module,过程参考9.1节和9.5节12.1.1、页面请求示例<ath:href="@{/test/hello}">测试拦截器</a>12.1.2、控制器方法示例@RequestMapping("/test/hello")publicStringtestHello(){return"succe......
  • 【openfeign】OpenFeign的扩展、日志、超时时间、拦截器、客户端组件、压缩
    Feign的日志配置有时候我们遇到Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置Feign的日志了,以此让Feign把请求信息输出来。全局配置定义一个配置类,指定日志级别:packagecom.morris.user.config;importfeign.Logger;importorg.springframework.context.a......
  • 通过mybatis-plus的自定义拦截器实现控制 mybatis-plus的全局逻辑删除字段的控制 (修改
    需求:过滤部分请求不实现mybatis-plus的逻辑删除看到网上关于mybatis-plus的自定义拦截器的文章有的少想了想自己写了一篇欢迎参考指正通过springboot的拦截器在请求进来时标记需要实现的需求的逻辑importlombok.Data;@DatapublicclassSyncBo{privateBoolean......
  • 第五步:vue-拦截器
      //interceptors:拦截器axios.interceptors.request.use(x=>{varuserinfo=window.localStorage.getItem(config.userkey);if(userinfo){varuser=JSON.parse(userinfo);x.headers.Authorization=`Bearer${user.userToken}`}returnx......
  • jwt生成token及拦截器解析token
    添加依赖<!--jwt加密--><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.10.3</version></dependency>......
  • Django实战项目-学习任务系统-自定义URL拦截器
    接着上期代码框架,6个主要功能基本实现,剩下的就是细节点的完善优化了。首先增加URL拦截器,你不会希望没有登录用户就可以进入用户主页各种功能的,所以增加URL拦截器可以解决这个问题。Django框架本身也有URL拦截器,但是因为本系统用户模型跟Django框架本身用户模型不匹配,所以没有用,......
  • React Native在非组件的地方使用页面跳转(interceptors拦截器处跳转页面)
    官方文档:https://reactnavigation.org/docs/navigating-without-navigation-prop/修改APP.jsimport{NavigationContainer}from'@react-navigation/native';import{navigationRef}from'./RootNavigation';exportdefaultfunctionApp(){r......
  • 使用【注解】加【拦截器】实现权限控制
    前面介绍了使用SpringSecurity进行权限控制,其中一个非常方便的特点就是:可以在类和方法上使用注解,从而实现对资源访问的权限控制。但是SpringSecurity具有一定的学习成本和复杂度,想要灵活驾驭并用好框架并非一件容易的事情,比如跟其它系统进行单点登录集成等等。本篇博客介绍......
  • Springboot拦截器的使用
    1.拦截器(Interceptor)在SpringBoot中,拦截器是基于SpringMVC框架的一部分,主要用于对控制器方法进行拦截处理。拦截器是通过实现HandlerInterceptor接口来定义的其中包括三个主要方法:preHandle、postHandle和afterCompletion。1.preHandle方法在进入控制器方法之前执行2.postHan......
  • Kafka 生产者API,消费者API,拦截器,流计算
    pom文件如下:<dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId......