====== 회원관리 ====== ===== 개요 ===== 회원관리는 회원목록을 조회기능과 신규등록기능, 상세조회기능, 회원정보수정기능, 회원암호수정기능, 회원정보삭제기능, 회원가입신청기능을 제공한다. * 기능흐름 ^기능명^기능 흐름^ |회원 등록 및 시스템 사용|①회원가입신청 -> ②관리자에 의한 가입승인 -> ③회원 아이디를 통한 시스템 로그인 | {{:egovframework:com:v3.6:uss:umt:일반회원흐름도.png|}} ===== 설명 ===== ==== 패키지 참조 관계 ==== 사용자, 기업회원, 회원 패키지는 요소기술의 공통 패키지(cmm)와 시스템(sim) 패키지에 대해서 직접적인 함수적 참조 관계를 가진다. 하지만, 컴포넌트 배포 시 오류 없이 실행되기 위하여 패키지 간의 참조관계에 따라 포맷/날짜/계산, 실명확인, 우편번호 패키지와 함께 배포 파일을 구성한다. * 패키지 간 참조 관계 : [[egovframework:com:v2:init_pkg_dependency#사용자지원|사용자지원 Package Dependency]] ==== 관련소스 ==== ^유형^대상소스명^비고^ |Controller |egovframework.com.uss.umt.web.EgovMberManageController.java |회원 관리를 위한 컨트롤러 클래스 | |Service |egovframework.com.uss.umt.service.EgovMberManageService.java |회원 관리를 위한 서비스 인터페이스 | |ServiceImpl |egovframework.com.uss.umt.service.impl.EgovMberManageServiceImpl.java|회원 관리를 위한 서비스 구현 클래스 | |VO |egovframework.com.uss.umt.service.MberManageVO.java |회원 관리를 위한 모델 클래스 | |VO |egovframework.com.uss.umt.service.UserDefaultVO.java |회원 관리를 위한 검색조건용 VO 클래스 | |DAO |egovframework.com.uss.umt.service.impl.MberManageDAO.java |회원 관리를 위한 데이터처리 클래스 | |JSP |/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberInsert.jsp |회원 등록을 위한 jsp페이지 | |JSP |/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSelectUpdt.jsp |회원 상세조회 및 수정을 위한 jsp페이지 | |JSP |/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberPasswordUpdt.jsp |회원 암호수정을 위한 jsp페이지 | |JSP |/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberManage.jsp |회원 목록조회를 위한 jsp페이지 | |JSP |/WEB-INF/jsp/egovframework/com/uss/umt/EgovIdDplctCnfirm.jsp |중복아이디 확인을 위한 jsp페이지 | |JSP |/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSbscrb.jsp |회원 가입신청을 위한 jsp페이지 | |Query XML |resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_altibase.xml|회원 관리를 위한 Altibase용 Query XML | |Query XML |resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_cubrid.xml |회원 관리를 위한 Cubrid용 Query XML | |Query XML |resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_maria.xml |회원 관리를 위한 MariaDB용 Query XML | |Query XML |resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_mysql.xml |회원 관리를 위한 MySQL용 Query XML | |Query XML |resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_oracle.xml |회원 관리를 위한 Oracle용 Query XML | |Query XML |resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_postgres.xml|회원 관리를 위한 PostgreSQL용 Query XML| |Query XML |resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_tibero.xml |회원 관리를 위한 Tibero용 Query XML | |Validator XML|resources/egovframework/validator/com/uss/umt/EgovMberManage.xml |회원 관리를 위한 vailidator룰 설정파일 | |Idgen XML|resources/egovframework/spring/com/idgn/context-idgn-UsrCnfrm.xml|회원 관리 Id생성 Idgen XML| |Message properties|resources/egovframework/message/com/uss/umt/message_ko.properties|회원관리를 위한 Message properties(한글)| |Message properties|resources/egovframework/message/com/uss/umt/message_en.properties|회원관리를 위한 Message properties(영문)| ==== 클래스 다이어그램 ==== {{:egovframework:com:v2:uss:회원관리_클래스다이어그램.jpg?740|}} ==== ID Generation ==== === ID Generation 관련 DDL 및 DML === * ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 **USRCNFRM_ID** 항목을 추가해야 한다. 본시스템의 기능 중에서 기업회원, 사용자관리에서도 USRCNFRM_ID항목을 사용하여 고유아이디를 생성한다. CREATE TABLE COMTECOPSEQ ( TABLE_NAME VARCHAR(20) NOT NULL, NEXT_ID NUMERIC(30) NULL, PRIMARY KEY (TABLE_NAME)); INSERT INTO COMTECOPSEQ VALUES('USRCNFRM_ID','1'); === ID Generation 환경설정(context-idgn-UsrCnfrm.xml) === ==== 관련테이블 ==== ^테이블명^테이블명(영문)^비고^ |회원정보|COMTNGNRLMBER|회원 정보를 관리한다.| ==== 관련코드 ==== 회원관리에서 사용되는 코드 및 그에 따른 설정 값의 반영사항은 다음과 같다. ^코드분류^코드분류명 ^코드ID ^코드명 ^설정반영사항^ |COM012|사용자유형 |USR01 |일반회원 |회원 유형 | | |사용자유형 |USR02 |기업회원 |기업회원 유형 | | |사용자유형 |USR03 |업무사용자|사용자 유형 | |COM013|사용자상태 |A |가입신청 |회원가입신청상태 | | |사용자상태 |P |가입승인 |회원가입승인상태 | | |사용자상태 |D |가입삭제 |회원가입삭제상태 | |COM014|성별구분 |F |여자 |여자 | | |성별구분 |M |남자 |남자 | |COM022|패스워드힌트|동적으로생성함 |힌트 |패스워드힌트 | |우편번호코드|COMTCZIP 테이블에 등록된 우편번호정보 |||우편번호| |권한그룹코드|COMTNAUTHORGROUPINFO 테이블에 동적으로 생성된 권한그룹레코드정보 |||사용자별 권한그룹| ===== 관련기능 ===== 회원관리는 **회원 목록조회**, **회원 등록**, **회원 상세조회(수정)**, **회원 암호변경**, **회원 약관확인**, **회원 가입신청** 기능으로 분류된다. ==== 회원 목록조회 ==== === 비즈니스 규칙 === 검색조건은 회원상태조건, 회원아이디, 회원명에 대해서 수행된다. 검색조건으로 회원아이디를 사용하는 경우는 EQUAL검색(동일한 아이디인 경우를 검색), 회원명을 사용하는 경우는 LIKE(근접한 회원명인 경우를 검색)검색을 수행한다. \\ === 관련코드 === N/A === 관련화면 및 수행 매뉴얼 === ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |목록조회 |/uss/umt/EgovMberManage.do |selectMberList |"mberManageDAO"|"selectMberList"| | | | |"mberManageDAO"|"selectMberListTotCnt"| |삭제 |/uss/umt/EgovMberDelete.do |deleteMber |"mberManageDAO"|"deleteMber_S"| 회원 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.\\ 페이지 당 검색 범위를 변경하고자 하는 경우 context-properties.xml 파일의 pageUnit, pageSize를 변경한다.(단 해당 설정은 전체 공통서비스 기능에 영향을 미친다.)\\ {{:egovframework:com:v3.6:uss:umt:mber_manage.png|}} 조회 : 회원 목록을 검색조건을 지정하여 조회하기 위해서는 검색조건을 설정한 후 상단의 검색 버튼을 통해서 해당되는 회원을 검색한다.\\ 삭제 : 기존 회원을 삭제하고자 하는 경우는 회원 상태정보를 가입승인탈퇴로 변경하여 처리한다. 특수한 경우 완전삭제가 필요한 경우는 체크박스를 선택한후 상단의 삭제버튼을 통해서 Database상에서 삭제할 수 있다.(단, 삭제시는 해당 회원과 관련된 설정정보들이 우선 삭제되어야 한다)\\ 등록 : 신규 회원을 등록하기 위해서는 상단의 등록버튼을 통해서 **회원 등록** 화면으로 이동한다.\\ 상세조회(수정) : 기존 회원의 등록정보를 수정하고자 하는 경우는 해당 아이디를 클릭하여 상세 조회 및 수정기능을 제공하는 **회원 상세조회(수정)** 화면으로 이동한다.\\ ==== 회원 등록 ==== === 비즈니스 규칙 === 회원 정보를 입력하여 신규등록한다. 등록이 성공적으로 종료되면 **회원 목록조회** 화면으로 이동한다. === 관련코드 === N/A === 관련화면 및 수행 매뉴얼 === ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |등록화면 |/uss/umt/EgovMberInsertView.do |insertMberView | | | |등록 |/uss/umt/EgovMberInsert.do |insertMber |"mberManageDAO"|"insertMber_S"| {{:egovframework:com:v3.10:uss:umt:mber_insert.png|}} 목록 : 회원 목록조회화면으로 다시 이동하기 위해서는 하단의 목록버튼을 통해서 **[[#회원 목록조회]]** 화면으로 이동한다.\\ 등록 : 신규 회원 정보를 입력한후 하단의 등록버튼을 통해서 Database상에 신규 회원 정보를 저장한다. 입력항목 중에서 필수항목(*표시)은 모두 입력해야 하며 회원 아이디와 우편번호(주소)는 팝업화면을 호출하여 선택한다.\\ ==== 회원 상세조회(수정) ===== === 비즈니스 규칙 === 회원 목록의 상세조회 및 수정 기능을 제공한다. === 관련코드 === N/A === 관련화면 및 수행 메뉴얼 === ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |상세조회 |/uss/umt/EgovMberSelectUpdtView.do |updateMberView|"mberManageDAO"|"selectMber_S"| |수정 |/uss/umt/EgovMberSelectUpdt.do |updateMber |"mberManageDAO"|"updateMber_S"| |삭제 |/uss/umt/EgovMberDelete.do |deleteMber |"mberManageDAO"|"deleteMber_S"| {{:egovframework:com:v3.10:uss:umt:mber_update.png|}} 저장 : 기존 회원 정보를 수정입력한 후 하단의 저장버튼을 통해서 Database상에 수정된 회원 정보를 저장한다. 입력항목 중에서 필수항목(*표시)은 모두 입력된 상태여야 하며 회원 아이디는 변경할 수 없다. 우편번호(주소)를 변경하는 경우 팝업화면을 호출하여 선택한다.\\ 삭제 : 기존 회원을 삭제하고자 하는 경우는 회원 상태정보를 가입승인탈퇴로 변경하여 처리한다. 특수한 경우 완전삭제가 필요한 경우는 하단의 삭제버튼을 통해서 Database상에서 삭제할 수 있다.(단, 삭제시는 해당 회원과 관련된 설정정보들이 우선 삭제되어야 한다)\\ 목록 : 회원 목록조회화면으로 다시 이동하기 위해서는 하단의 목록버튼을 통해서 **회원 목록조회** 화면으로 이동한다.\\ 비밀번호변경 : 회원 암보변경화면으로 이동하기 위해서는 하단의 암호변경버튼을 통해서 **회원 암호변경** 화면으로 이동한다.\\ 취소 : 기존 회원 정보의 수정입력도중 입력된 내용을 수정하기 전상태로 초기화하기 위해서는 하단의 취소 버튼을 통해서 상세정보를 최초 상태로 복원한다.\\ 로그인인증제한해제 : 비밀번호 입력 횟수 초과로 인증이 제한된 계정에 대해 **로그인인증제한해제** 버튼을 통해 인증 제한을 해제한다.\\ ==== 회원 비밀번호변경 ==== === 비즈니스 규칙 === 회원의 비밀번호를 수정한다. 수정이 성공적으로 종료되면 요청에 대한 처리결과를 화면상에 메시지로 출력한다. === 관련코드 === N/A === 관련화면 및 수행 매뉴얼 === ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |비밀번호수정화면 |/uss/umt/EgovMberPasswordUpdtView.do |updatePasswordView | | | |비밀번호수정 |/uss/umt/EgovMberPasswordUpdt.do |updatePassword |"mberManageDAO"|"updatePassword_S"| | | | |"mberManageDAO"|"selectPassword_S"| {{:egovframework:com:v3.10:uss:umt:mber_password_update.png|}} 수정 : 기존의 비밀번호와 수정할 암호, 수정할 암호 확인을 입력한 후 하단의 수정버튼을 통해서 Database상에 수정된 비밀번호 정보를 저장한다. 기존의 비밀번호가 틀린경우는 수정되지 않는다. \\ 목록 : 회원 목록조회화면으로 다시 이동하기 위해서는 하단의 목록버튼을 통해서 **회원 목록조회** 화면으로 이동한다.\\ 취소 : 비밀번호 수정입력도중 입력했던 내용을 초기화하기 위해서는 하단의 취소 버튼을 통해서 최초 상태로 클리어한다.\\ ==== 회원 약관확인 ==== === 비즈니스 규칙 === 로그인화면에서 가입신청 버튼을 클릭하여 가입신청절차가 시작될 때 기본적으로 약관정보에 동의한 후 진행하도록 하기 위한 화면이다. 위의 sbscrbEntrprsMber 메소드와 쿼리ID는 화면 오픈 시 사용되는 항목이며 동의 버튼을 클릭하면 Database관련작업은 추가로 없이 등록 화면으로 이동한다. \\ 약관 동의 후 가입신청화면을 호출하도록 한다. 로그인 화면에서 회원으로 선택한 후 가입절차를 진행한 경우에는 회원용 약관을 확인 후 회원 가입신청 화면으로 연결된다.\\ === 관련코드 === N/A === 관련화면 및 수행 메뉴얼 === ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |동의 |/uss/umt/EgovStplatCnfirmMber.do |sbscrbEntrprsMber|"mberManageDAO"|"selectStplat_S"| {{:egovframework:com:v3.6:uss:umt:mber_cnfirm.png|}} 비동의 : 동의하지 않는 경우 가입할수 없다는 메시지를 보여준다.\\ 동의 : 가입신청 정보를 입력하는 화면으로 이동한다.\\ ==== 회원 가입신청 ==== === 비즈니스 규칙 === 회원 정보를 입력하여 신규 가입신청한다. 가입신청이 성공적으로 종료되면 사용자 로그인화면(일반로그인 또는 GPKI 인증서 로그인)으로 이동한다. 가입신청기능은 사전단계로 실명인증절차(주민등록실명인증 또는 공공I-PIN실명인증)을 거친다. === 관련코드 === N/A === 관련화면 및 수행 메뉴얼 === ^Action^URL^Controller method^SQL Namespace^SQL QueryID^ |가입신청화면 |/uss/umt/EgovMberSbscrbView.do |sbscrbMberView| | | |가입신청 |/uss/umt/EgovMberSbscrb.do |sbscrbMber |"mberManageDAO"|"insertMber_S"| {{:egovframework:com:v3.6:uss:umt:mber_sbscrb.png|}} 등록 : 가입신청 회원 정보를 입력한후 하단의 가입신청버튼을 통해서 Database상에 가입신청 회원 정보를 저장한다. 입력항목 중에서 필수항목(*표시)은 모두 입력해야 하며 회원 아이디와 우편번호(주소)는 팝업화면을 호출하여 선택한다.\\ ===== 참고자료 ===== * 실명확인 참조 : [[egovframework:com:v2:sec:실명확인#환경설정|실명확인 환경설정]] * 공공I-PIN 실명확인 참조 : [[egovframework:com:v2:sec:공공i-pin실명확인#환경설정|공공I-PIN 실명확인 환경설정]]