LoginVO 값 확인
- 작성자 :
- 오*석
- 작성일 :
- 2014-11-12 12:00:12
- 조회수 :
- 1,446
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "egovframework/mbl/com/uat/uia/LoginUsr";
}
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
여기까지해서 정상로그인 되는데,..아래와 같이 LoginVO 의 user.getId() 정보 보고 싶은데,..빈 문자열이 나오네요..
로그인은 되고요 ....도와 주세요
LOGGER.debug("session user >", user.getId());
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "egovframework/mbl/com/uat/uia/LoginUsr";
}
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
여기까지해서 정상로그인 되는데,..아래와 같이 LoginVO 의 user.getId() 정보 보고 싶은데,..빈 문자열이 나오네요..
로그인은 되고요 ....도와 주세요
LOGGER.debug("session user >", user.getId());
A
안녕하세요. 오구석님.
우선 정상적으로 인증되신 후의 상황으로 가정하여 설명드립니다.
세션 방식의 경우 id가 없는 경우 세션에 loginVO를 기록하지 않기 때문에, spring security를 사용하신 경우이신 것 같습니다.
이런 경우 context-security.xml 설정 상에 jdbcMapClass 또는 mapClass에 지정된 class에 의해 인증된 사용자 정보를 LoginVO에 담아 처리합니다.
아마도 해당 mapClass 상에서 id에 해당되는 처리가 빠져 있으신 것 같습니다.
배포된 mapClass의 처리 예는 아래와 같습니다.
String strUserId = rs.getString("user_id");
String strPassWord = rs.getString("password");
boolean strEnabled = rs.getBoolean("enabled");
String strUserNm = rs.getString("user_nm");
String strUserSe = rs.getString("user_se");
String strUserEmail = rs.getString("user_email");
String strOrgnztId = rs.getString("orgnzt_id");
String strUniqId = rs.getString("esntl_id");
/**2010.06.30 *이용 *조직명 추가 */
String strOrgnztNm = rs.getString("orgnzt_nm");
// 세션 항목 설정
LoginVO loginVO = new LoginVO();
loginVO.setId(strUserId);
loginVO.setPassword(strPassWord);
loginVO.setName(strUserNm);
loginVO.setUserSe(strUserSe);
loginVO.setEmail(strUserEmail);
loginVO.setOrgnztId(strOrgnztId);
loginVO.setUniqId(strUniqId);
/**2010.06.30 *이용 *조직명 추가 */
loginVO.setOrgnztNm(strOrgnztNm);
확인 부탁드립니다.
그럼, 즐거운 하루되십시오.
감사합니다.
우선 정상적으로 인증되신 후의 상황으로 가정하여 설명드립니다.
세션 방식의 경우 id가 없는 경우 세션에 loginVO를 기록하지 않기 때문에, spring security를 사용하신 경우이신 것 같습니다.
이런 경우 context-security.xml 설정 상에 jdbcMapClass 또는 mapClass에 지정된 class에 의해 인증된 사용자 정보를 LoginVO에 담아 처리합니다.
아마도 해당 mapClass 상에서 id에 해당되는 처리가 빠져 있으신 것 같습니다.
배포된 mapClass의 처리 예는 아래와 같습니다.
String strUserId = rs.getString("user_id");
String strPassWord = rs.getString("password");
boolean strEnabled = rs.getBoolean("enabled");
String strUserNm = rs.getString("user_nm");
String strUserSe = rs.getString("user_se");
String strUserEmail = rs.getString("user_email");
String strOrgnztId = rs.getString("orgnzt_id");
String strUniqId = rs.getString("esntl_id");
/**2010.06.30 *이용 *조직명 추가 */
String strOrgnztNm = rs.getString("orgnzt_nm");
// 세션 항목 설정
LoginVO loginVO = new LoginVO();
loginVO.setId(strUserId);
loginVO.setPassword(strPassWord);
loginVO.setName(strUserNm);
loginVO.setUserSe(strUserSe);
loginVO.setEmail(strUserEmail);
loginVO.setOrgnztId(strOrgnztId);
loginVO.setUniqId(strUniqId);
/**2010.06.30 *이용 *조직명 추가 */
loginVO.setOrgnztNm(strOrgnztNm);
확인 부탁드립니다.
그럼, 즐거운 하루되십시오.
감사합니다.