zhibing.pu
2024-08-23 6fe2d7f0114d77c9f63f53cb22bf53e496f50774
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/filter/AuthFilter.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.account.service.TAppUserService;
import com.ruoyi.common.core.constant.TokenConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.JwtUtils;
@@ -37,7 +38,7 @@
   
   @Lazy
   @Resource
   private AppUserClient appUserClient;
   private TAppUserService appUserService;
   
   @Lazy
   @Resource
@@ -48,10 +49,12 @@
   public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
      HttpServletRequest request = (HttpServletRequest) servletRequest;
      HttpServletResponse response = (HttpServletResponse) servletResponse;
      String token = getToken(request);
      Claims claims = JwtUtils.parseToken(token);
      String userid = JwtUtils.getUserId(claims);
      String userType = JwtUtils.getUserType(claims);
      String userid = request.getHeader("user_id");
      if(StringUtils.isEmpty(userid)){
         filterChain.doFilter(request, response);
         return;
      }
      String userType = request.getHeader("user_type");
      //管理后台用户
      if ("system".equals(userType)) {
         SysUser sysUser = sysUserClient.getSysUser(Long.valueOf(userid)).getData();
@@ -68,7 +71,7 @@
      }
      //小程序用户
      if ("applet".equals(userType)) {
         TAppUser appUser = appUserClient.getUserById(Long.valueOf(userid)).getData();
         TAppUser appUser = appUserService.getById(userid);
         if(null == appUser || appUser.getDelFlag() || 3 == appUser.getStatus()){
            log.error("[账户异常处理]请求账户id:{}", userid);
            unauthorizedResponse(response,"无效的账户");