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){