====== 사용자 인증 - 일반 로그인 ====== ===== 개요 ===== **일반로그인** 서비스는 가입시에 작성한 아이디와 비밀번호를 이용하여 사용자에 대한 인증을 처리하며, 사용자의 분류(일반 회원, 기업 회원, 업무 사용자)를 선택하여 로그인할 수 있다.\\ **일반로그인** 서비스는 **HTML5**, **jQuery**와 함께 **jQM(jQuery Mobile)**을 바탕으로 개발된 모바일 공통 컴포넌트이다. \\ 자세한 사항은 [[http://www.egovframe.go.kr/html/egovframework/mbl/mguide/mguide.html|모바일 실행환경 가이드]]를 통해 안내되고 있다. \\ 컴포넌트와 관련된 css로는 기본적으로 적용되는 **EgovMobile.css**와 함께 **egovBoard.css**, **ussCommon.css**가 사용된다.\\ ==== 지원대상 ==== 본 컴포넌트는 모바일 디바이스에서 사용 가능한 브라우저를 대상으로 개발 및 테스트를 완료하였으며 \\ PC용 브라우저와 mobile용 브라우저의 HTML5, CSS3 에 대한 지원이 상이함으로 개발, 적용 시에 주의가 필요하다. 개발 및 테스트를 위해 갤럭시S2, 갤럭시S, 갤럭시탭, iPad2, iPhone4 등의 모바일 기기와 \\ Android 기본 브라우저, Firefox, Safari, Opera Mobile 등의 모바일 브라우저를 사용하였다. === Android === 테스트 디바이스로는 갤럭시S, 갤럭시S2, 갤럭시탭을 사용하였으며,\\ 브라우저는 Android 기본 브라우저, Firefox(6.xx), Opera Mobile 브라우저를 사용하였다.\\ * Android OS 2.3 (GingerBread) : HTML5, CSS3 및 컴포넌트의 실행을 안정적으로 지원하였다. * Android OS 2.1 (Eclair), 2.2 (Froyo) : HTML5, CSS3 지원이 부족하여 컴포넌트의 UI 구현이 원할하지 못하였다. 하지만, Opera Mobile의 경우에는 색상 및 이벤트 처리에 일부 문제가 발생하여 3종지원 브라우저 대상에서 제외되었다.\\ === iOS === 테스트 디바이스로는 iPhone4, iPad2를 사용하였다. * iOS 4.2, 4.3 : 두 버전 모두 HTML5, CSS3를 비교적 원활하게 지원하였다. \\ ==== 기능 흐름도 ==== {{egovframework:mcom:일반로그인_기능흐름도.jpg?740|}} ===== 설명 ===== 시스템 사용자의 접근을 허락하고 보안상의 목적으로 시스템 또는 응용프로그램에 접속을 시도하는 사용자에 대한 정보의 확보를 지원하기 위한 서비스 컴포넌트로, \\ 로그인한 사용자의 로그인 정보(아이디/비밀번호)를 입력받아 기존에 저장된 사용자 정보를 조회하여 사용자의 인증을 처리하는 방식이다. === 클래스다이어그램 === {{:egovframework:mcom:CLD_일반로그인.JPG?740|}} === 관련소스 === ^유형^대상소스명^비고^ |Controller|egovframework.com.uat.uia.web.EgovLoginController.java|로그인을 위한 컨트롤러 클래스| |Controller|egovframework.mbl.com.uat.uia.web.EgovMblLoginController.java|모바일 로그인을 위한 컨트롤러 클래스| |Service|egovframework.com.uat.uia.service.EgovLoginService.java|로그인을 위한 서비스 인터페이스| |Service|egovframework.com.sym.log.service.EgovLogManageService.java|로그인 로그생성을 위한 서비스 인터페이스| |Service|egovframework.com.sym.mpm.service.EgovMenuManageService.java|로그인 후 메뉴조회를 위한 서비스 인터페이스| |ServiceImpl|egovframework.com.uat.uia.service.impl.EgovLoginServiceImpl.java|로그인을 위한 서비스 구현 클래스| |VO|egovframework.com.uat.uia.service.LoginVO.java|로그인을 위한 VO 클래스| |DAO|egovframework.com.uat.uia.service.impl.LoginDAO.java|로그인을 위한 데이터 처리 클래스| |Query XML|resources/egovframework/sqlmap/com/uat/uia/EgovLoginUsr_SQL.xml|로그인을 위한 Query XML| |JSP|WEB_INF/jsp/egovframework/cmm/uat/uia/EgovLoginUsr.jsp|로그인 페이지| |JSP|WEB_INF/jsp/egovframework/mbl/com/uat/uia/EgovLoginUsr.jsp|모바일 로그인 페이지| === 관련테이블 === ^테이블명^테이블명(영문)^비고^ |업무사용자|COMTNEMPLYRINFO|업무사용자 정보를 관리| |기업회원|COMTNENTRPRSMBER|기업회원 정보를 관리| |일반회원|COMTNGNRLMBER|일반회원 정보를 관리| |로그인로그|COMTNLOGINLOG|로그인로그 정보를 관리| |메뉴|COMTNMENUINFO|메뉴 정보를 관리| ===== 환경설정 ===== 로그인 시 필요한 Security 인증은 환경 설정을 통해 변경 시킬 수 있다. == src/main/java/resources/egovframework/spring/com/context-egovuserdetailshelper.xml == == web.xml == springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* org.springframework.security.ui.session.HttpSessionEventPublisher EgovSpringSecurityLogoutFilter egovframework.com.sec.security.filter.EgovSpringSecurityLogoutFilter EgovSpringSecurityLogoutFilter /uat/uia/actionLogout.do EgovSpringSecurityLoginFilter egovframework.com.sec.security.filter.EgovSpringSecurityLoginFilter EgovSpringSecurityLoginFilter *.do web.xml에 위 내용과 같은 Spring Security 관련 필터를 추가 하여야 한다. ===== 관련기능 ===== === 비즈니스 규칙 === - 일반 로그인은 아이디와 비밀번호를 가지고 사용자 구분별 사용자정보를 조회한다. \\ - 조회된 사용자 정보를 통해 로그인 로그를 생성하며, Spring Security를 호출하여 권한 인증 및 세션 설정을 한다. \\ - 메뉴 정보를 조회하여 메인화면을 구성한다. \\ === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^Action^URL^Controller method^QueryID^ |모바일 로그인화면|/uat/uia/egovLoginUsr.mdo|loginUsrView| | |로그인|/uat/uia/actionLogin.mdo|actionLogin|"loginDAO.actionLogin"| {{:egovframework:mcom:egovloginusr.jpg|}} 업무구분 선택: 사용자 업무구분을 선택한다. \\ 아이디 입력: 아이디를 입력한다. \\ 비밀번호 입력: 비밀번호를 입력한다. \\ 로그인: 아이디와 비밀번호를 통해 사용자 로그인 인증 작업을 수행한다. \\ ===== 참고자료 ===== * 일반로그인 참조(기존 웹 버전) : [[일반_로그인|일반로그인]] * 배포 및 테스트 관련 : [[egovframework:mcom:모바일 공통컴포넌트란?|모바일 공통컴포넌트란]] 및 [[모바일_배포_패키지_구성안|배포 패키지 구성안]]