Преглед изворни кода

[Feat 0000] 添加单点登录启用后临时跳过的功能

houzekong пре 8 месеци
родитељ
комит
a8d9c882de
5 измењених фајлова са 13 додато и 9 уклоњено
  1. 2 2
      public/js/config.js
  2. 1 1
      src/hooks/setting/index.ts
  3. 0 4
      src/main.ts
  4. 2 0
      src/router/constant.ts
  5. 8 2
      src/router/guard/permissionGuard.ts

+ 2 - 2
public/js/config.js

@@ -12,6 +12,6 @@ const VENT_PARAM = {
   // simulatedPassword: '123456', //(simulatedPassword 为空时有密码输入框弹出,不为空时不弹出密码输入框,无需输入密码)
   simulatedPassword: '',
   showReport: true,
-  isoOpenSso: 'false'
+  isoOpenSso: 'true'
 }
-export { VUE_APP_URL, History_Type, VENT_PARAM }
+// export { VUE_APP_URL, History_Type, VENT_PARAM }

+ 1 - 1
src/hooks/setting/index.ts

@@ -1,5 +1,5 @@
 import type { GlobConfig } from '/#/config';
-import { VENT_PARAM } from '../../../public/js/config';
+// import { VENT_PARAM } from '../../../public/js/config';
 
 import { getAppEnvConfig, getHomePath } from '/@/utils/env';
 // 读取ip地址

+ 0 - 4
src/main.ts

@@ -19,7 +19,6 @@ import { setupGlobDirectives } from '/@/directives';
 import { setupI18n } from '/@/locales/setupI18n';
 import { registerGlobComp } from '/@/components/registerGlobComp';
 import { registerThirdComp } from '/@/settings/registerThirdComp';
-import { useSso } from '/@/hooks/web/useSso';
 // 注册online模块lib
 // import { registerPackages } from '/@/utils/monorepo/registerPackages';
 import { initModalWorker, initTHREE } from '/@/utils/threejs/main.worker';
@@ -52,9 +51,6 @@ async function bootstrap() {
   // 注册全局组件
   registerGlobComp(app);
 
-  //CAS单点登录
-  await useSso().ssoLogin();
-
   // 配置路由
   setupRouter(app);
 

+ 2 - 0
src/router/constant.ts

@@ -10,6 +10,8 @@ export const QIANKUN_ROUTE_OUTER_NAME = 'MicroAppOuter';
 
 export const AUTO_LOGIN_URL_QUERY = { key: 'auto-login', val: '1' };
 
+export const SKIP_SSO_URL_QUERY = { key: 'skipsso', val: '1' };
+
 // 暂时修改
 export const EXCEPTION_COMPONENT = () => import('/@/views/sys/exception/Exception.vue');
 // export const EXCEPTION_COMPONENT = () => import('/@/views/vent/monitorManager/mainFanMonitor/index.vue');

+ 8 - 2
src/router/guard/permissionGuard.ts

@@ -15,7 +15,8 @@ import { OAUTH2_THIRD_LOGIN_TENANT_ID } from '/@/enums/cacheEnum';
 import { useGlobSetting } from '/@/hooks/setting';
 
 import _ from 'lodash';
-import { AUTO_LOGIN_URL_QUERY } from '../constant';
+import { AUTO_LOGIN_URL_QUERY, SKIP_SSO_URL_QUERY } from '../constant';
+import { useSso } from '/@/hooks/web/useSso';
 
 const LOGIN_PATH = PageEnum.BASE_LOGIN;
 //auth2登录路由
@@ -107,7 +108,12 @@ export function createPermissionGuard(router: Router) {
         document.title = to.meta.title;
         return;
       }
-      // query中要求自动登录的执行登录逻辑
+      // query如果没有明确要求跳过sso则执行sso登录
+      if (to.query[SKIP_SSO_URL_QUERY.key] !== SKIP_SSO_URL_QUERY.val) {
+        await useSso().ssoLogin();
+        return;
+      }
+      // query中要求自动登录的执行自动登录
       if (to.query[AUTO_LOGIN_URL_QUERY.key] === AUTO_LOGIN_URL_QUERY.val) {
         const userStore = useUserStoreWithOut();
         await userStore.autoLogin({