=== 로그인 페이지 예시 ===
일반 로그인 처리 컨트롤러(/uat/uia/actionLogin.do) 메소드를 호출한다.
=== 컨트롤러 ===
// 로그인을 처리하는 메소드
@RequestMapping(value="/uat/uia/actionLogin.do")
public String actionLogin(@ModelAttribute("loginVO") LoginVO loginVO,
HttpServletRequest request,
ModelMap model)
throws Exception {
// 접속IP
String userIp = EgovClntInfo.getClntIP(request);
// 1. 일반 로그인 처리
LoginVO resultVO = loginService.actionLogin(loginVO);
if (resultVO != null && resultVO.getId() != null && !resultVO.getId().equals("")) {
// 2. 로그인로그 생성
LoginLog loginLog = new LoginLog();
loginLog.setLoginId(resultVO.getId());
loginLog.setLoginIp(userIp);
loginLog.setLoginMthd("POST");
loginLog.setErrOccrrAt("N");
loginLog.setErrorCode("");
logManageService.logInsertLoginLog(loginLog);
// 3. spring security 연동 (사용자 권한에 대해 springframework security를 활용)
return "redirect:/j_spring_security_check?j_username=" + resultVO.getUserSe() + resultVO.getId()
+ "&j_password=" + resultVO.getUniqId();
} else {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "cmm/uat/uia/EgovLoginUsr";
}
}
// 로그인 처리 후 메인화면 이동 메소드
@RequestMapping(value="/uat/uia/actionMain.do")
public String actionMain(ModelMap model)
throws Exception {
// 1. Spring Security 사용자권한 처리
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
return "cmm/uat/uia/EgovLoginUsr";
}
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
// 2. 메뉴조회
MenuManageVO menuManageVO = new MenuManageVO();
menuManageVO.setTmp_Id(user.getId());
menuManageVO.setTmp_UserSe(user.getUserSe());
menuManageVO.setTmp_Name(user.getName());
menuManageVO.setTmp_Email(user.getEmail());
menuManageVO.setTmp_OrgnztId(user.getOrgnztId());
menuManageVO.setTmp_UniqId(user.getUniqId());
List list_headmenu = menuManageService.selectMainMenuHead(menuManageVO);
model.addAttribute("list_headmenu", list_headmenu);
// 3. 메인 페이지 이동
if (user.getUserSe().equals("USR")) {
return "EgovMainView";
} else {
return "EgovMainViewG";
}
}
입력한 아이디와 비밀번호를 가지고 사용자 테이블에서 정보를 조회한다. 조회된 사용자 정보를 가지고 로그인로그를 생성하며 메인화면으로 들어가기전에 사용자 권한을 체크한다. 사용자 권한 및 세션정보를 설정하고 해당 권한에 맞는 메뉴정보를 조회하여 메인화면으로 이동한다.