하관우 하관우 05-30
2025-05-30 하관우 alert 수정정
@29f6d0561e0b737131a791ea724fc5387d695b44
client/views/pages/AppStore.js
--- client/views/pages/AppStore.js
+++ client/views/pages/AppStore.js
@@ -48,8 +48,15 @@
       state.userId = null;
       state.roles = [];
       state.loginId = null;
-      state.isHandlingSessionError = false;
     },
+    setLoginSuccess(state, payload) {
+      state.authorization = payload.token;       // 토큰 저장
+      state.userId = payload.userId;             // 사용자 ID 저장
+      state.loginId = payload.loginId;           // 로그인 ID 저장
+      state.userNm = payload.userNm;             // 사용자 이름 저장
+      state.roles = payload.roles;               // 사용자 권한 저장
+      state.isHandlingSessionError = false;      // <<<--- 로그인 성공 시 여기서 플래그를 false로 리셋!!!
+    }
   },
   actions: {
     async logout({ commit }) {
client/views/pages/login/Login.vue
--- client/views/pages/login/Login.vue
+++ client/views/pages/login/Login.vue
@@ -67,19 +67,26 @@
 
                 if (response.status === 200) {
                     const newToken = response.headers.authorization;
-                    this.store.commit("setAuthorization", newToken);
+                    // this.store.commit("setAuthorization", newToken);
 
                     // JWT 디코딩
                     const mbr = this.decodeJwt(newToken);
                     if (mbr) {
-                        this.store.commit("setUserId", mbr.userId);
-                        this.store.commit("setLoginId", mbr.loginId);
-                        this.store.commit("setUserNm", mbr.userNm);
-                        this.store.commit("setRoles", mbr.roles);
+                        // this.store.commit("setUserId", mbr.userId);
+                        // this.store.commit("setLoginId", mbr.loginId);
+                        // this.store.commit("setUserNm", mbr.userNm);
+                        // this.store.commit("setRoles", mbr.roles);
+                        this.store.commit("setLoginSuccess", {
+                            token: newToken,
+                            userId: mbr.userId,
+                            loginId: mbr.loginId,
+                            userNm: mbr.userNm,
+                            roles: mbr.roles,
+                        });
                     }
 
-                     // 아이디 저장 처리
-                     if (this.saveId) {
+                    // 아이디 저장 처리
+                    if (this.saveId) {
                         VueCookies.set('savedLoginId', this.member.loginId, '1d'); // 1일 동안 쿠키 저장
                     } else {
                         VueCookies.remove('savedLoginId'); // 체크 해제 시 쿠키 삭제
Add a comment
List