Răsfoiți Sursa

[Fix SEC-20260913-R3] 自动登录票据未配置时不发起必失败请求(降级转正常登录)

lizuo 1 săptămână în urmă
părinte
comite
c1a06e0be0
1 a modificat fișierele cu 12 adăugiri și 0 ștergeri
  1. 12 0
      src/hooks/vent/useAutoLogin.ts

+ 12 - 0
src/hooks/vent/useAutoLogin.ts

@@ -52,6 +52,18 @@ export function useAutoLogin() {
     const { realname, workNo } = route.query;
     if (!realname || !workNo) return;
 
+    // [SEC-20260913-R3] 票据未配置时不发起必失败的 /sys/autoLogin 请求:
+    // 摘除 auto-login query 后按未登录态放行(query 对象语义下 path 串内 query 被 vue-router 丢弃,不会循环),
+    // 守卫后续分支转正常 SSO/登录页(与 mock-login 剥离一致的降级风格);配置票据后行为不变。
+    const autoLoginToken = typeof VUE_APP_URL !== 'undefined' ? VUE_APP_URL.autoLoginToken : '';
+    if (!autoLoginToken) {
+      console.warn('[security] 自动登录票据未配置(VUE_APP_URL.autoLoginToken),跳过 /sys/autoLogin 请求,转正常登录流程');
+      delete route.query[AUTO_LOGIN_URL_QUERY.key];
+      delete route.query['realname'];
+      delete route.query['workNo'];
+      return;
+    }
+
     const params = {
       username: realname as string,
       workNo: workNo as string,