Pu Zhibing
2025-03-25 d3e9a09cb54017a8063e5bfe3ace5012f66f3130
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
@@ -5,6 +5,7 @@
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
import com.ruoyi.common.core.exception.auth.NotPermissionException;
import com.ruoyi.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -56,6 +57,7 @@
      claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
      claimsMap.put(SecurityConstants.USER_TYPE, "system");
      claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
      claimsMap.put(SecurityConstants.EXPIRATION_TIME, System.currentTimeMillis() + expireTime * MILLIS_MINUTE);
      
      // 接口返回信息
      Map<String, Object> rspMap = new HashMap<String, Object>();
@@ -80,6 +82,7 @@
      claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
      claimsMap.put(SecurityConstants.USER_TYPE, "applet");
      claimsMap.put(SecurityConstants.DETAILS_USERNAME, name);
      claimsMap.put(SecurityConstants.EXPIRATION_TIME, System.currentTimeMillis() + expireAppletTime * MILLIS_MINUTE);
      // 接口返回信息
      Map<String, Object> rspMap = new HashMap<String, Object>();
      rspMap.put("access_token", JwtUtils.createToken(claimsMap));
@@ -90,7 +93,8 @@
   public LoginUser getLoginUserApplet() {
      LoginUser loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest());
      if (loginUserAppletToken == null) {
         throw new RuntimeException("令牌已过期,请重新登录!");
         System.out.println("loginUserAppletToken: "+loginUserAppletToken);
         throw new NotPermissionException("令牌已过期,请重新登录!");
      }
      return loginUserAppletToken;
   }
@@ -99,6 +103,14 @@
      // 获取请求携带的令牌
      String token = SecurityUtils.getToken(request);
      return getLoginUserApplet(token);
   }
   /**
    * 判断用户是否登录
    */
   public boolean isLoginApplet() {
      LoginUser loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest());
      return loginUserAppletToken != null;
   }
   
   /**
@@ -128,7 +140,7 @@
   public LoginUser getLoginUser() {
      LoginUser loginUser = getLoginUser(ServletUtils.getRequest());
      if (loginUser == null) {
         throw new RuntimeException("令牌已过期,请重新登录!");
         throw new NotPermissionException("令牌已过期,请重新登录!");
      }
      if(null == loginUser.getUserid()){
         loginUser.setUserid(loginUser.getSysUser().getUserId());