로그인 페이지 예시

<form name="loginForm" action ="<c:url value='/uat/uia/actionLogin.do'/>" method="post">
<table border="0" cellpadding="0" cellspacing="0" style="width:250px;margin-left:20px;">
<tr>
  <td>
    <table width="250" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td class="required_text" nowrap>아이디&nbsp;&nbsp;</td>
        <td><input type="text" name="id" tabindex="1" maxlength="10"/></td>
        <td/>
      </tr>
      <tr>
        <td class="required_text" nowrap>비밀번호&nbsp;&nbsp;</td>
        <td><input type="password" name="password" onKeyDown="javascript:if (event.keyCode == 13) { actionLogin(); }"/></td>
        <td class="title"><input type="checkbox" name="checkId" class="check2" onClick="javascript:fnSetCookieId();"/>ID저장</td>
      </tr>
    </table>
  </td>
</tr>
<tr>
  <td>
    <table border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><img src="/images/egovframework/cmm/uat/uia/bu2_left.gif" width="8" height="20"></td>
        <td background="/images/egovframework/cmm/uat/uia/bu2_bg.gif" class="text_left" nowrap><center><a href="javascript:actionLogin();">로그인</a></center></td>
        <td><img src="/images/egovframework/cmm/uat/uia/bu2_right.gif" width="8" height="20"></td>
      </tr>
    </table>
  </td>
<tr>
</table>
</form>

일반 로그인 처리 컨트롤러(/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";
	}
}

입력한 아이디와 비밀번호를 가지고 사용자 테이블에서 정보를 조회한다. 조회된 사용자 정보를 가지고 로그인로그를 생성하며 메인화면으로 들어가기전에 사용자 권한을 체크한다. 사용자 권한 및 세션정보를 설정하고 해당 권한에 맞는 메뉴정보를 조회하여 메인화면으로 이동한다.

 
egovframework/로그인.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki