Browse Source

fixed 登录优化

fushengqian 1 year ago
parent
commit
a6ff3eb344

+ 2 - 2
fuint-application/src/main/java/com/fuint/common/Constants.java

@@ -33,6 +33,6 @@ public class Constants {
     public static final int HTTP_RESPONSE_CODE_USER_LOGIN_ERROR = 403;
     public static final int HTTP_RESPONSE_CODE_USER_LOGIN_ERROR = 403;
     public static final int HTTP_RESPONSE_CODE_NOLOGIN = 1001;
     public static final int HTTP_RESPONSE_CODE_NOLOGIN = 1001;
 
 
-    public static final String SESSION_USER = "USER";
-    public static final String SESSION_ADMIN_USER = "ADMIN_USER";
+    public static final String SESSION_USER = "FUINT_USER";
+    public static final String SESSION_ADMIN_USER = "FUINT_ADMIN_USER";
 }
 }

+ 1 - 4
fuint-application/src/main/java/com/fuint/common/service/impl/AccountServiceImpl.java

@@ -382,10 +382,7 @@ public class AccountServiceImpl extends ServiceImpl<TAccountMapper, TAccount> im
                 throw new BusinessCheckException("登录账号或密码有误");
                 throw new BusinessCheckException("登录账号或密码有误");
             }
             }
 
 
-            String token = TokenUtil.generateToken(userAgent, accountInfo.getId());
-            accountInfo.setToken(token);
-            TokenUtil.saveAccountToken(accountInfo);
-
+            String token = TokenUtil.generateToken(userAgent, accountInfo);
             LoginResponse response = new LoginResponse();
             LoginResponse response = new LoginResponse();
             response.setLogin(true);
             response.setLogin(true);
             response.setToken(token);
             response.setToken(token);

+ 36 - 9
fuint-application/src/main/java/com/fuint/common/util/TokenUtil.java

@@ -30,25 +30,52 @@ public class TokenUtil {
      * @return
      * @return
      * */
      * */
     public static String generateToken(String userAgent, Integer userId) {
     public static String generateToken(String userAgent, Integer userId) {
-        StringBuilder token = new StringBuilder();
+        StringBuilder stringBuilder = new StringBuilder();
         UserAgent userAgent1 = UserAgent.parseUserAgentString(userAgent);
         UserAgent userAgent1 = UserAgent.parseUserAgentString(userAgent);
         if (userAgent1.getOperatingSystem().isMobileDevice()) {
         if (userAgent1.getOperatingSystem().isMobileDevice()) {
-            token.append("APP_");
+            stringBuilder.append("APP_");
         } else {
         } else {
-            token.append("PC_");
+            stringBuilder.append("PC_");
         }
         }
 
 
-        token.append(userId);
-        token.append(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + "_");
-        token.append(new Random().nextInt((999999 - 111111 + 1)) + 111111);
-        String tokenStr = MD5Util.getMD5(token.toString()).replace("+", "1").replaceAll("&", "8");
+        stringBuilder.append(userId);
+        stringBuilder.append(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + "_");
+        stringBuilder.append(new Random().nextInt((999999 - 111111 + 1)) + 111111);
+        String token = MD5Util.getMD5(stringBuilder.toString()).replace("+", "1").replaceAll("&", "8");
 
 
         UserInfo userLoginInfo = new UserInfo();
         UserInfo userLoginInfo = new UserInfo();
         userLoginInfo.setId(userId);
         userLoginInfo.setId(userId);
-        userLoginInfo.setToken(tokenStr);
+        userLoginInfo.setToken(token);
         saveToken(userLoginInfo);
         saveToken(userLoginInfo);
 
 
-        return tokenStr;
+        return token;
+    }
+
+    /**
+     * 生成token
+     *
+     * @param userAgent
+     * @param accountInfo
+     * @return
+     * */
+    public static String generateToken(String userAgent, AccountInfo accountInfo) {
+        StringBuilder stringBuilder = new StringBuilder();
+        UserAgent userAgent1 = UserAgent.parseUserAgentString(userAgent);
+        if (userAgent1.getOperatingSystem().isMobileDevice()) {
+            stringBuilder.append("APP_");
+        } else {
+            stringBuilder.append("PC_");
+        }
+
+        stringBuilder.append(accountInfo.getId());
+        stringBuilder.append(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + "_");
+        stringBuilder.append(new Random().nextInt((999999 - 111111 + 1)) + 111111);
+        String token = MD5Util.getMD5(stringBuilder.toString()).replace("+", "1").replaceAll("&", "8");
+
+        accountInfo.setToken(token);
+        saveAccountToken(accountInfo);
+
+        return token;
     }
     }
 
 
     /**
     /**