Forráskód Böngészése

1.更新 content 中的 TokenFilter, 由于已经在 gateway 中获取了请求的用户信息, 这里直接从 header 中获取 x-user-id 即可
2.file 和 user 中 TokenFilter 和 content 对齐

reghao 1 éve
szülő
commit
c641f68716

+ 3 - 24
content/content-service/src/main/java/cn/reghao/tnb/content/app/config/web/TokenFilter.java

@@ -1,12 +1,8 @@
 package cn.reghao.tnb.content.app.config.web;
 
 import cn.reghao.jutil.web.ServletUtil;
-import cn.reghao.tnb.account.api.constant.TokenType;
-import cn.reghao.tnb.account.api.dto.AuthedAccount;
-import cn.reghao.tnb.account.api.iface.AccountQuery;
 import cn.reghao.tnb.common.auth.LoginUser;
 import cn.reghao.tnb.common.auth.UserContext;
-import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.*;
@@ -18,10 +14,6 @@ import java.io.IOException;
  */
 @Component
 public class TokenFilter implements Filter {
-    private final String cookieName = "USERDATA";
-    @DubboReference(check = false)
-    private AccountQuery accountQuery;
-
     @Override
     public void init(FilterConfig filterConfig) throws ServletException {
     }
@@ -29,22 +21,9 @@ public class TokenFilter implements Filter {
     @Override
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
             throws IOException, ServletException {
-        String userdata = ServletUtil.getCookie(cookieName, request);
-        AuthedAccount authedAccount = null;
-        if (userdata != null) {
-            authedAccount = accountQuery.getAuthedAccount(TokenType.cookie.getValue(), userdata);
-        } else {
-            userdata = ServletUtil.getBearerToken();
-            if (userdata != null) {
-                authedAccount = accountQuery.getAuthedAccount(TokenType.token.getValue(), userdata);
-            }
-        }
-
-        LoginUser loginUser = null;
-        if (authedAccount != null) {
-            loginUser = new LoginUser(authedAccount.getUserId());
-        }
-
+        String userId = ServletUtil.getHeader("x-user-id");
+        String loginId = ServletUtil.getHeader("x-login-id");
+        LoginUser loginUser = new LoginUser(Long.parseLong(userId));
         try (UserContext context = new UserContext(loginUser)) {
             chain.doFilter(request, response);
         }

+ 3 - 24
file/file-service/src/main/java/cn/reghao/tnb/file/app/config/web/TokenFilter.java

@@ -1,12 +1,8 @@
 package cn.reghao.tnb.file.app.config.web;
 
 import cn.reghao.jutil.web.ServletUtil;
-import cn.reghao.tnb.account.api.constant.TokenType;
-import cn.reghao.tnb.account.api.dto.AuthedAccount;
-import cn.reghao.tnb.account.api.iface.AccountQuery;
 import cn.reghao.tnb.common.auth.LoginUser;
 import cn.reghao.tnb.common.auth.UserContext;
-import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.*;
@@ -18,10 +14,6 @@ import java.io.IOException;
  */
 @Component
 public class TokenFilter implements Filter {
-    private final String cookieName = "USERDATA";
-    @DubboReference(check = false)
-    private AccountQuery accountQuery;
-
     @Override
     public void init(FilterConfig filterConfig) throws ServletException {
     }
@@ -29,22 +21,9 @@ public class TokenFilter implements Filter {
     @Override
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
             throws IOException, ServletException {
-        String userdata = ServletUtil.getCookie(cookieName, request);
-        AuthedAccount authedAccount = null;
-        if (userdata != null) {
-            authedAccount = accountQuery.getAuthedAccount(TokenType.cookie.getValue(), userdata);
-        } else {
-            userdata = ServletUtil.getBearerToken();
-            if (userdata != null) {
-                authedAccount = accountQuery.getAuthedAccount(TokenType.token.getValue(), userdata);
-            }
-        }
-
-        LoginUser loginUser = null;
-        if (authedAccount != null) {
-            loginUser = new LoginUser(authedAccount.getUserId());
-        }
-
+        String userId = ServletUtil.getHeader("x-user-id");
+        String loginId = ServletUtil.getHeader("x-login-id");
+        LoginUser loginUser = new LoginUser(Long.parseLong(userId));
         try (UserContext context = new UserContext(loginUser)) {
             chain.doFilter(request, response);
         }

+ 3 - 24
user/user-service/src/main/java/cn/reghao/tnb/user/app/config/web/TokenFilter.java

@@ -1,12 +1,8 @@
 package cn.reghao.tnb.user.app.config.web;
 
 import cn.reghao.jutil.web.ServletUtil;
-import cn.reghao.tnb.account.api.constant.TokenType;
-import cn.reghao.tnb.account.api.dto.AuthedAccount;
-import cn.reghao.tnb.account.api.iface.AccountQuery;
 import cn.reghao.tnb.common.auth.LoginUser;
 import cn.reghao.tnb.common.auth.UserContext;
-import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.*;
@@ -18,10 +14,6 @@ import java.io.IOException;
  */
 @Component
 public class TokenFilter implements Filter {
-    private final String cookieName = "USERDATA";
-    @DubboReference(check = false)
-    private AccountQuery accountQuery;
-
     @Override
     public void init(FilterConfig filterConfig) throws ServletException {
     }
@@ -29,22 +21,9 @@ public class TokenFilter implements Filter {
     @Override
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
             throws IOException, ServletException {
-        String userdata = ServletUtil.getCookie(cookieName, request);
-        AuthedAccount authedAccount = null;
-        if (userdata != null) {
-            authedAccount = accountQuery.getAuthedAccount(TokenType.cookie.getValue(), userdata);
-        } else {
-            userdata = ServletUtil.getBearerToken();
-            if (userdata != null) {
-                authedAccount = accountQuery.getAuthedAccount(TokenType.token.getValue(), userdata);
-            }
-        }
-
-        LoginUser loginUser = null;
-        if (authedAccount != null) {
-            loginUser = new LoginUser(authedAccount.getUserId());
-        }
-
+        String userId = ServletUtil.getHeader("x-user-id");
+        String loginId = ServletUtil.getHeader("x-login-id");
+        LoginUser loginUser = new LoginUser(Long.parseLong(userId));
         try (UserContext context = new UserContext(loginUser)) {
             chain.doFilter(request, response);
         }