로그인로그조회는 사용자가 시스템 로그인/아웃한 로그를 검색, 조회하는 기능을 제공한다.
① 로그인로그등록 : 로그인로그정보를 등록한다. - AOP 기능을 이용 ② 로그인로그조회 : 로그인로그정보의 상세내용을 조회한다. ③ 로그인로그목록 : 로그인로그정보의 목록을 검색, 조회한다.
유형 | 대상소스명 | 비고 |
---|---|---|
Controller | egovframework.com.sym.log.web.EgovLogManageController.java | 로그인로그 관리를 위한 컨트롤러 클래스 |
Service | egovframework.com.sym.log.service.EgovLogManageService.java | 로그인로그 관리를 위한 서비스 인터페이스 |
ServiceImpl | egovframework.com.sym.log.service.impl.EgovLogManageServiceImpl.java | 로그인로그 관리를 위한 서비스 구현 클래스 |
DAO | egovframework.com.sym.log.service.impl.LogManageDAO.java | 로그인로그 관리를 위한 데이터처리 클래스 |
VO | egovframework.com.sym.log.service.LoginLogVO.java | 로그인로그 관리를 위한 VO 클래스 |
Aspect | egovframework.com.sym.log.service.EgovLogManageAspect.java | 로그인로그 등록을 위한 Aspect 클래스 |
JSP | /WEB-INF/jsp/egovframework/cmm/sym/log/EgovLoginLogList.jsp | 로그인로그 목록을 위한 jsp페이지 |
JSP | /WEB-INF/jsp/egovframework/cmm/sym/log/EgovLoginLogInqire.jsp | 로그인로그 조회를 위한 jsp페이지 |
테이블명 | 테이블명(영문) | 비고 |
---|---|---|
로그인로그 | COMTNLOGINLOG | 로그인로그 정보를 관리 |
<bean name="egovLoginLogIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy"> <property name="dataSource" ref="dataSource" /> <property name="strategy" ref="loginLogStrategy" /> <property name="blockSize" value="1"/> <property name="table" value="COMTECOPSEQ"/> <property name="tableName" value="LOGINLOG_ID"/> </bean> <bean name="loginLogStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> <property name="prefix" value="LOGIN_" /> <property name="cipers" value="14" /> <property name="fillChar" value="0" /> </bean>
INSERT INTO COMTECOPSEQ VALUES('LOGINLOG_ID','0');
<bean id="logManage" class="egovframework.com.sym.log.service.EgovLogManageAspect" /> <aop:config> <aop:aspect id="logManageAspect" ref="logManage"> <!-- 로그인 Method --> <aop:before pointcut="execution(public * egovframework.com.uat.uia.web.EgovLoginController.actionMain(..))" method="logLogin" /> <!-- 로그아웃 Method --> <aop:before pointcut="execution(public * egovframework.com.uat.uia.web.EgovLoginController.actionLogout(..))" method="logLogout" /> </aop:aspect> </aop:config>
시스템로그 등록 기능구현을 위하여 AOP를 설정한다.
package egovframework.com.sym.log.service; import javax.annotation.Resource; import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper; import egovframework.com.uat.uia.service.LoginVO; public class EgovLogManageAspect { @Resource(name="EgovLogManageService") private EgovLogManageService logManageService; /** * 로그인 로그정보를 생성한다. * EgovLoginController.actionMain Method * * @param * @return void * @throws Exception */ public void logLogin() throws Throwable { String uniqId = ""; String ip = ""; /* Authenticated */ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); if(isAuthenticated.booleanValue()) { LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); uniqId = user.getUniqId(); ip = user.getIp(); } LoginLog loginLog = new LoginLog(); loginLog.setLoginId(uniqId); loginLog.setLoginIp(ip); loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O loginLog.setErrOccrrAt("N"); loginLog.setErrorCode(""); logManageService.logInsertLoginLog(loginLog); } /** * 로그아웃 로그정보를 생성한다. * EgovLoginController.actionLogout Method * * @param * @return void * @throws Exception */ public void logLogout() throws Throwable { String uniqId = ""; String ip = ""; /* Authenticated */ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); if(isAuthenticated.booleanValue()) { LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); uniqId = user.getUniqId(); ip = user.getIp(); } LoginLog loginLog = new LoginLog(); loginLog.setLoginId(uniqId); loginLog.setLoginIp(ip); loginLog.setLoginMthd("O"); // 로그인:I, 로그아웃:O loginLog.setErrOccrrAt("N"); loginLog.setErrorCode(""); logManageService.logInsertLoginLog(loginLog); }
Action | URL | Controller method | QueryID |
---|---|---|---|
목록조회 | /cmm/sym/log/SelectLoginLogList.do | selectLoginLogInf | “LogManageDAO.selectLoginLogInf” |
“LogManageDAO.selectLoginLogInfCnt” |
로그인로그 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다. 검색조건은 발생일자와 로그유형에 대해서 수행된다.
로그인로그 상세조회 기능을 수행하기 위해서는 상세보기 버튼을 클릭한다.
Action | URL | Controller method | QueryID |
---|---|---|---|
상세조회 | /cmm/sym/log/InqireLoginLog.do | selectLoginLog | “LogManageDAO.selectLoginLog” |
로그인로그 상세조회는 팝업창으로 구성되며, 닫기 버튼을 클릭하면 창을 닫는다.