From 483ef16e814050d1e6f3e586e5223119d71a2d32 Mon Sep 17 00:00:00 2001 From: Rinjae Date: Thu, 15 Jan 2026 18:38:10 +0900 Subject: [PATCH] =?UTF-8?q?SSO=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=EC=8B=9C=20ro?= =?UTF-8?q?le=20=EC=84=B8=EC=85=98=20=EC=A0=80=EC=9E=A5=EA=B4=80=EB=A0=A8?= =?UTF-8?q?=20NPE=20=EB=8C=80=EC=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eai/rms/common/login/MainController.java | 2 +- .../eai/rms/common/login/SessionManager.java | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/common/login/MainController.java b/src/main/java/com/eactive/eai/rms/common/login/MainController.java index 7fe78fb..a43dda0 100644 --- a/src/main/java/com/eactive/eai/rms/common/login/MainController.java +++ b/src/main/java/com/eactive/eai/rms/common/login/MainController.java @@ -291,7 +291,7 @@ public class MainController implements InterceptorSkipController { session.setAttribute("userId", userInfo.getUserid()); session.setAttribute("dualLogin", "N"); SessionManager.forceRegisterUserSession(request, dto); - session.setAttribute(CommonConstants.LOGIN, dto); + // roleList가 설정된 후 loadUserInfoAndSetupSession 내부에서 세션에 저장됨 String result = loadUserInfoAndSetupSession(request, session, dto, userInfo); diff --git a/src/main/java/com/eactive/eai/rms/common/login/SessionManager.java b/src/main/java/com/eactive/eai/rms/common/login/SessionManager.java index 6a46755..85d8318 100644 --- a/src/main/java/com/eactive/eai/rms/common/login/SessionManager.java +++ b/src/main/java/com/eactive/eai/rms/common/login/SessionManager.java @@ -98,7 +98,10 @@ public class SessionManager { */ public static List getRoleId(HttpServletRequest request) { LoginVo login = (LoginVo)request.getSession().getAttribute(CommonConstants.LOGIN); - return login.getRoleList(); + if (login == null) { + return null; + } + return login.getRoleList(); } /** * 세션에서 RoleID를 얻어오는 메소드 @@ -108,12 +111,16 @@ public class SessionManager { */ public static String getRoleIdString(HttpServletRequest request) { LoginVo login = (LoginVo)request.getSession().getAttribute(CommonConstants.LOGIN); - + if (login == null) { return null; } - - List roleList = login.getRoleList(); + + List roleList = login.getRoleList(); + + if (roleList == null || roleList.isEmpty()) { + return null; + } String roles = ""; for(String role : roleList){