|
@@ -1,12 +1,8 @@
|
|
|
package cn.reghao.tnb.content.app.config.web;
|
|
package cn.reghao.tnb.content.app.config.web;
|
|
|
|
|
|
|
|
import cn.reghao.jutil.web.ServletUtil;
|
|
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.LoginUser;
|
|
|
import cn.reghao.tnb.common.auth.UserContext;
|
|
import cn.reghao.tnb.common.auth.UserContext;
|
|
|
-import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
import javax.servlet.*;
|
|
import javax.servlet.*;
|
|
@@ -18,10 +14,6 @@ import java.io.IOException;
|
|
|
*/
|
|
*/
|
|
|
@Component
|
|
@Component
|
|
|
public class TokenFilter implements Filter {
|
|
public class TokenFilter implements Filter {
|
|
|
- private final String cookieName = "USERDATA";
|
|
|
|
|
- @DubboReference(check = false)
|
|
|
|
|
- private AccountQuery accountQuery;
|
|
|
|
|
-
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void init(FilterConfig filterConfig) throws ServletException {
|
|
public void init(FilterConfig filterConfig) throws ServletException {
|
|
|
}
|
|
}
|
|
@@ -29,22 +21,9 @@ public class TokenFilter implements Filter {
|
|
|
@Override
|
|
@Override
|
|
|
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
|
|
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
|
|
|
throws IOException, ServletException {
|
|
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)) {
|
|
try (UserContext context = new UserContext(loginUser)) {
|
|
|
chain.doFilter(request, response);
|
|
chain.doFilter(request, response);
|
|
|
}
|
|
}
|