1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package com.zhentao.intercepoter;
- import com.zhentao.config.NullLogin;
- import com.zhentao.tool.TokenUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.redis.core.RedisTemplate;
- import org.springframework.stereotype.Component;
- import org.springframework.web.method.HandlerMethod;
- import org.springframework.web.servlet.HandlerInterceptor;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- @Component
- public class Userinterceptor implements HandlerInterceptor {
- @Autowired
- private RedisTemplate<String,String> redisTemplate;
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- String token = request.getHeader("token");
- HandlerMethod handlerMethod = (HandlerMethod) handler;
- NullLogin annotation = handlerMethod.getMethod().getAnnotation(NullLogin.class);
- System.err.println("自定义注解"+annotation);
- System.err.println(request.getRequestURI());
- if (annotation!=null){
- return true;
- }
- if (token==null){
- System.err.println("Token不能为空");
- return false;
- }
- String userIdFromToken = TokenUtils.getUserIdFromToken(token);
- String s = redisTemplate.opsForValue().get(userIdFromToken);
- String userIdFromToken1 = TokenUtils.getUserIdFromToken(s);
- System.err.println(userIdFromToken);
- System.err.println(userIdFromToken1);
- if (s!=null && userIdFromToken1.equals(userIdFromToken)){
- return true;
- }else {
- System.err.println("Token错误");
- return false;
- }
- }
- }
|