拦截器

拦截器 package com.td.fof.web.config; import com.td.fof.rpc.trans.dto.UserDTO; import com.td.fof.web.client.RpcClientService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @Author dengYinYue * @Date 2022/7/12 15:30 */ @Slf4j public class LoginHandlerInterceptor implements HandlerInterceptor { @Autowired private RpcClientService rpcClientService; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { /* //OPTIONS请求直接放行 if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) { return true; } String sessionId = request.getParameter("sessionId"); if (null != sessionId) { String redisSessionId = rpcClientService.userApiService.getUser(sessionId); if (null != redisSessionId) { return true; } log.info("未登录请求被拒绝"); }*/ return true; } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { HandlerInterceptor.super.afterCompletion(request, response, handler, ex); } } 拦截器配置类 package com.td.fof.web.config; import org.springframework.context.annotation.Bean; 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 WebConfig implements WebMvcConfigurer { @Bean LoginHandlerInterceptor getinInterceptor() { return new LoginHandlerInterceptor(); } //校验拦截器 @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(getinInterceptor()) .addPathPatterns("/**")// 添加所有路径需要校验 .excludePathPatterns("/api/v1/user/save", "/api/v1/user/resetPwd",//不需要拦截的接口 "/api/v1/user/logout", "/api/v1/user/sendSms", "/api/v1/user/getToken", "/api/v1/user/login"); } }
posted @ 2022-07-18 11:40  91程序猿  阅读(53)  评论(0编辑  收藏  举报