|
@@ -1,11 +1,16 @@
|
|
|
package com.xiaoan.common.interceptor;
|
|
|
|
|
|
+import lombok.Data;
|
|
|
+import lombok.extern.log4j.Log4j2;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.servlet.*;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.io.IOException;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
* Created by owen on 2020/3/6 0006 17:56
|
|
@@ -13,13 +18,20 @@ import java.io.IOException;
|
|
|
* 这个类是测试模拟token使用的,可以正式环境可以不用的
|
|
|
*
|
|
|
* 主要是为了设置请头使用的
|
|
|
+ *
|
|
|
+ *
|
|
|
*/
|
|
|
+@Log4j2
|
|
|
@Component
|
|
|
public class AuthHeaderSettingFilter implements Filter {
|
|
|
|
|
|
@Value("${spring.profiles.active}")
|
|
|
private String active;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private RedisTemplate<String, String> redisTemplate;
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public void init(FilterConfig filterConfig) throws ServletException {
|
|
|
|
|
@@ -28,7 +40,7 @@ public class AuthHeaderSettingFilter implements Filter {
|
|
|
@Override
|
|
|
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
|
|
|
|
|
|
- System.out.println("active :" + active);
|
|
|
+ log.warn("active: {}", active);
|
|
|
|
|
|
HttpServletRequest req = (HttpServletRequest) request;
|
|
|
HeaderMapRequestWrapper requestWrapper = new HeaderMapRequestWrapper(req);
|
|
@@ -40,6 +52,9 @@ public class AuthHeaderSettingFilter implements Filter {
|
|
|
token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXlsb2FkIjoie1wicm9sZVwiOltcImFkbWluXCJdLFwiaWRcIjo5LFwidXNlck5hbWVcIjpcIjE1OTk5OTk5OTk5XCJ9IiwidXNlck5hbWUiOiIxNTk5OTk5OTk5OSIsImV4cCI6MTU4NDIzMzkyNX0.Uk71Pyt1WC7gHpxof7ktbgk---r85fyrKB_s2tUq0QI";
|
|
|
//如果请求中带有这个参数,则进行过滤加一个header头
|
|
|
requestWrapper.addHeader("Authorization", token);
|
|
|
+ String userName = "15999999999";
|
|
|
+ // 更新到 redis, 有效期24h, 旧token无效
|
|
|
+ redisTemplate.opsForValue().set(userName, token, Long.parseLong("240000"), TimeUnit.HOURS);
|
|
|
chain.doFilter(requestWrapper, response);
|
|
|
|
|
|
}
|
|
@@ -47,8 +62,6 @@ public class AuthHeaderSettingFilter implements Filter {
|
|
|
chain.doFilter(requestWrapper, response);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|