Procházet zdrojové kódy

添加了模拟token ,服务端改变请求头,添加了token到redis

wuweihao před 5 roky
rodič
revize
50e665ee51

+ 16 - 3
xiaoan-common/src/main/java/com/xiaoan/common/interceptor/AuthHeaderSettingFilter.java

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

+ 1 - 4
xiaoan-web/src/main/java/com/xiaoan/web/shiro/MyRealm.java

@@ -30,11 +30,8 @@ import java.util.*;
 public class MyRealm extends AuthorizingRealm {
 
 
-//    @Autowired
-//    private UserRepository userRepository;
-//
+
     @Autowired
-//    private RedisTemplate redisTemplate;
     private RedisTemplate<String, String> redisTemplate;
 
     @Autowired

+ 0 - 9
xiaoan-web/src/main/java/com/xiaoan/web/shiro/ShiroConfig.java

@@ -27,15 +27,6 @@ import java.util.Map;
 @Configuration
 public class ShiroConfig {
 
-//    @Value("${spring.redis.host}")
-//    private String host;
-//
-//    @Value("${spring.redis.port}")
-//    private int port;
-//
-//    @Value("${spring.redis.jedis.timeout}")
-//    private int timeout;
-
     @Bean("securityManager")
     public DefaultWebSecurityManager getManager(MyRealm realm) {
         DefaultWebSecurityManager manager = new DefaultWebSecurityManager();