====== 사용자 인증 - 일반 로그인 ======
===== 개요 =====
**일반로그인** 서비스는 가입시에 작성한 아이디와 비밀번호를 이용하여 사용자에 대한 인증을 처리하며, 사용자의 분류(일반 회원, 기업 회원, 업무 사용자)를 선택하여 로그인할 수 있다.\\
**일반로그인** 서비스는 **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용 브라우저에 대한 지원이 상이함으로 개발, 적용 시에 주의가 필요하다.
대상 디바이스로는 각각 갤럭시S2, 갤럭시S, 갤럭시탭, iPad2, iPhone4 등의 모바일 기기와 \\
브라우저는 Android 기본 브라우저, Firefox, Safari, Opera Mobile 등의 모바일 브라우저를 사용하였다.
=== Android ===
테스트 디바이스로는 갤럭시S, 갤럭시S2, 갤럭시탭을 사용하였으며,\\
브라우저는 Android 기본 브라우저, Firefox(6.xx), Opera Mobile 브라우저를 사용하였다.\\
* Android OS 2.3 (GengerBread) : 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}}
===== 설명 =====
시스템 사용자의 접근을 허락하고 보안상의 목적으로 시스템 또는 응용프로그램에 접속을 시도하는 사용자에 대한 정보의 확보를 지원하기 위한 서비스 컴포넌트로, \\
로그인한 사용자의 로그인 정보(아이디/비밀번호)를 입력받아 기존에 저장된 사용자 정보를 조회하여 사용자의 인증을 처리하는 방식이다.
=== 관련소스 ===
^유형^대상소스명^비고^
|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|모바일 로그인 페이지|
=== 클래스다이어그램 ===
{{:egovframework:mcom:CLD_일반로그인.JPG|}}
=== 관련테이블 ===
^테이블명^테이블명(영문)^비고^
|업무사용자|COMTNEMPLYRINFO|업무사용자 정보를 관리|
|기업회원|COMTNENTRPRSMBER|기업회원 정보를 관리|
|일반회원|COMTNGNRLMBER|일반회원 정보를 관리|
|로그인로그|COMTNLOGINLOG|로그인로그 정보를 관리|
|메뉴|COMTNMENUINFO|메뉴 정보를 관리|
===== 환경설정 =====
로그인 시 필요한 Security 인증은 환경 설정을 통해 변경 시킬 수 있다.
== src/main/java/resources/egovframework/spring/com/context-common.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.do|loginUsrView| |
|모바일 로그인화면|/uat/uia/egovLoginUsr.mdo|loginUsrView| |
|일반로그인|/uat/uia/actionLogin.do|actionLogin|loginDAO.actionLogin|
{{:egovframework:mcom:egovloginusr.jpg|}}
업무구분 선택: 사용자 업무구분을 선택한다. \\
아이디 입력: 아이디를 입력한다. \\
비밀번호 입력: 비밀번호를 입력한다. \\
로그인: 아이디와 비밀번호를 통해 사용자 로그인 인증 작업을 수행한다. \\
===== 참고자료 =====
* 일반로그인 참조(기존 웹 버전) : [[일반_로그인|일반로그인]]
* 배포 및 테스트 관련 : [[Mobile Common Component System|Mobile Common Component System]] 및 [[모바일_배포_패키지_구성안|배포 패키지 구성안]]