====== 개요 ====== 시스템 사용자에게 사용권한을 부여하기 위해 권한을 정의하고, 관리한다. \\ ====== 기능 설명 ====== * **권한관리**는 사용자별 권한을 관리하기 위한 목적으로 **권한관리**, **권한 롤 관리**,**롤관리**, **롤 상하관계관리**, **권한부여관리** 의 기능을 수반한다. ① 권한관리 : 시스템 담당자는 시스템 사용자에게 권한을 부여하기 위해 권한정보를 등록,조회,수정,삭제 할 수 있다. ② 권한 롤 관리 : 시스템 담당자는 해당 권한에 접근가능 URL정보인 롤을 등록, 삭제 할 수 있다. ③ 롤 관리 : 시스템 담당자는 등록된 권한에 접근가능 url을 부여하기 위한 롤정보를 등록,조회,수정,삭제 할 수 있다. ④ 롤 상하관계관리 : 시스템 담당자는 롤의 상하관계를 등록, 수정, 삭제 할 수 있다. ⑤ 권한부여관리 : 시스템 담당자는 시스템 사용자에게 권한을 부여하거나 제거할 수 있다. - 권한 : 시스템의 편의상 사용자를 구분하기 위해, URL에 따라 접근 권리를 나누어 놓은 사용자 등급 (예 > ROLE_ADMIN, ROLE_BATCHMASTER) - 롤 : 권한이 실제적으로 효용성을 가지기 위해서 지정해놓은 URL(URL은 자바 정규식에 따라 하나의 URL일수도, 공통문자를 포함한 여러 개의 URL 일수도 있다.) 해당 롤을 특정 권한에 부여하면, 권한은 해당 롤에서 지정하고 있는 URL에 접근할 수 있다. ===== 관련소스 ===== ^유형^대상소스명^비고^ |Controller|egovframework.com.sec.ram.web.EgovAuthorManageController.java|권한관리 Controller Class| |Service|egovframework.com.sec.ram.service.EgovAuthorManageService.java|권한관리 Service Class| |ServiceImpl|egovframework.com.sec.ram.service.impl.EgovUserManageServiceImpl.java|권한관리 ServiceImpl Class| |VO|egovframework.com.sec.ram.service.UserManageVO.java|권한관리 VO Class| |VO|egovframework.com.cmm.ComDefaultVO.java|검색 VO Class| |DAO|egovframework.com.sec.ram.service.impl.UserManageDAO.java|권한관리 Dao Class| |JSP|/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorManage.jsp|권한관리 목록조회 페이지| |JSP|/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorInsert.jsp|권한관리 등록 페이지| |JSP|/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorUpdate.jsp|권한관리 수정 페이지| |QUERY XML|/egovframework/sqlmap/com/sec/ram/EgovAuthorManage_SQL_Mysql.xml|권한관리 MySQL용 QUERY XML| |QUERY XML|/egovframework/sqlmap/com/sec/ram/EgovAuthorManage_SQL_Oracle.xml|권한관리 Oracle용 QUERY XML| |QUERY XML|/egovframework/sqlmap/com/sec/ram/EgovAuthorManage_SQL_Tibero.xml|권한관리 Tibero용 QUERY XML| |QUERY XML|/egovframework/sqlmap/com/sec/ram/EgovAuthorManage_SQL_Altibase.xml|권한관리 Altibase용 QUERY XML| |Message properties|resources/egovframework/message/com/message-common_ko_KR.properties|권한관리 Message properties| |Idgen XML|resources/egovframework/spring/context-idgen.xml|권한관리 Id생성 Idgen XML| ===== 관련테이블 ===== ^테이블명^테이블명(영문)^비고^ |권한정보|TN_AUTHORINFO|권한정보를 관리한다.| \\ ====== 화면 설명 ====== ===== 권한목록 화면 ===== ^Action^URL^Controller method^QueryID^ |권한관리 검색|/sec/ram/EgovAuthorList.do|selectAuthorList|"authorManageDAO.selectAuthorList"| |권한관리 등록화면 호출|/sec/ram/EgovAuthorInsertView.do|insertAuthorView|N/A| |권한관리 삭제|/sec/ram/EgovAuthorListDelete.do|deleteAuthorList|"authorManageDAO.deleteAuthor"| |권한관리 권한상세 보기|/sec/ram/EgovAuthor.do|selectAuthor|"authorManageDAO.selectAuthor"| |권한관리 권한롤정보 보기|/sec/ram/EgovAuthorRoleList.do|selectAuthorRoleList|"authorRoleManageDAO.selectAuthorRoleList"| {{:egovframework:bopr:가이드:관리자메뉴:EgovAuthorManage.png|}} * 목록 검색 - 검색조건①을 선택한다. - 검색어②를 입력한다. - 검색버튼③을 클릭하여 검색 기능을 실행한다. * 등록 화면 이동 - '등록' 버튼④을 클릭한다 * 삭제 기능 수행 - 권한을 전체선택(체크박스⑤클릭) 또는 개별선택(체크박스⑥클릭) 한다. - '선택'버튼⑤을 클릭하여 해당 권한을 삭제한다. - ※ROLE_ADMIN은 삭제되지 않는다. * 권한 롤정보 보기로 이동 - 권한롤정보⑦를 클릭하여 해당 권한이 가지고 있는 롤정보로 이동한다. * 권한 수정 및 상세보기로 이동 - 권한ID⑧를 클릭하여 해당 권한의 상세보기로 이동한다. ===== 권한 등록 화면 ===== ^Action^URL^Controller method^QueryID^ |권한관리 목록화면 호출|/sec/ram/EgovAuthorList.do|selectAuthorList|"authorManageDAO.selectAuthorList"| |권한관리 등록|/sec/ram/EgovAuthorInsert.do|insertAuthor|"authorManageDAO.insertAuthor"| |권한관리 중복 권한코드 검색|/sec/ram/EgovCodeDplctCnfirmView.do|checkCodeDplct|N/A| {{:egovframework:bopr:가이드:관리자메뉴:egovauthorinsert.png|}} * 권한등록 - 중복 권한코드 검색④을 클릭하여 중복체크를 한 뒤 권한코드를 입력③한다. - 권한명⑤을 입력한다. * 등록취소 - 목록버튼①을 클릭하여 등록을 중단하고 권한목록화면으로 이동한다. ===== 권한 수정 및 상세조회 화면 ===== ^Action^URL^Controller method^QueryID^ |권한관리 목록화면 호출|/sec/ram/EgovAuthorList.do|selectAuthorList|"authorManageDAO.selectAuthorList"| |권한관리 수정|/sec/ram/EgovAuthorUpdate.do|updateAuthor|"authorManageDAO.updateAuthor"| |권한관리 삭제|/sec/ram/EgovAuthorDelete.do|deleteAuthor|"authorManageDAO.deleteAuthor"| {{:egovframework:bopr:가이드:관리자메뉴:egovauthorupdate.png|}} * 권한수정 - 권한명④을 수정한다. - 수정버튼②을 클릭하여 수정한 내용을 저장한다. * 권한삭제 - 삭제버튼③을 클릭하여 해당 권한을 삭제한다. - 권한이 삭제될 경우 해당 권한에 부여된 롤은 모두 삭제되며, 해당 권한을 가졌던 사용자는 모두 권한등록여부가 삭제된다. * 수정취소 - 목록버튼①을 클릭하여 수정을 중단하고 목록화면으로 이동한다. ===== 롤 목록 화면 ===== ^Action^URL^Controller method^QueryID^ |롤관리 검색|/sec/rmt/EgovRoleList.do|selectRoleList|"roleManageDAO.selectRoleList"| |롤관리 등록화면 이동|/sec/rmt/EgovRoleInsertView.do|insertRoleView|N/A| |롤관리 삭제|/sec/rmt/EgovRoleListDelete.do|deleteRoleList|"roleManageDAO.deleteRole"| |롤관리 롤상세정보 보기|/sec/rmt/EgovRole.do|selectRole|"roleManageDAO.selectRole"| {{:egovframework:bopr:가이드:관리자메뉴:egovrolemanage.png|}} * 목록 검색 - 검색조건①을 선택한다. - 검색어②를 입력한다. - 검색버튼③을 클릭하여 검색 기능을 실행한다. * 등록 화면 이동 - '등록' 버튼④을 클릭한다 * 삭제 기능 수행 - 롤을 전체선택(체크박스⑥클릭) 또는 개별선택(체크박스⑦클릭) 한다. - '삭제'버튼⑤을 클릭하여 해당 권한을 삭제한다. - ※ROLE_ADMIN에 부여된 롤은 삭제되지 않는다. * 롤의 상세보기로 이동 - 롤ID⑧를 해당롤의 상세보기로 이동한다. ===== 롤 등록 화면 ===== ^Action^URL^Controller method^QueryID^ |롤관리 목록화면 이동|/sec/rmt/EgovRoleList.do|selectRoleList|"roleManageDAO.selectRoleList"| |롤관리 등록|/sec/rmt/EgovRoleInsert.do|insertRole|"roleManageDAO.insertRole"| ^롤이름^롤설명^ |로그인롤|로그인 접근 제한 롤| |좌측메뉴|좌측 메뉴 및 상단메뉴에 대한 접근 제한 롤| |모든접근제한|모든 접근에 대한 롤(관리자전용)| |회원관리|회원관리에 대한 접근 제한롤| |메인화면 및 회원가입 |메인화면 및 회원가입 화면에 대한 접근 제한롤| |회원가입시 유효성검사|회원가입중 유효성검사에 대한 접근 제한롤| |배치심의관리|배치심의 메뉴에 대한 접근 제한 롤| |배치정보관리|배치정보 메뉴에 대한 접근 제한 롤| |사용자관리|관리자메뉴에 대한 접근 제한 롤| |배치운영 롤|배치운영 메뉴에 대한 접근 제한 롤| |작업이력관리 롤|일반사용자가 작업이력만 접근하고자 생성된 롤로서 배치운영메뉴중 작업이력관리 메뉴에 대한 접근 제한 롤| |Job지식 롤|Job지식 메뉴에 대한 접근 제한 롤| |업무심의메뉴접근롤|일반사용자가 업무심의요청 메뉴에만 접근하고자 생성된 롤로서 배치심의메뉴중 업무심의요청 메뉴에 대한 접근 제한 롤| |배치심의메뉴접근롤|일반사용자가 배치심의요청 메뉴에만 접근하고자 생성된 롤로서 배치심의메뉴중 배치심의요청 메뉴에 대한 접근 제한 롤| |일반사용자롤|일반사용자부터 접근이 가능한, 첨부파일, 달력, 댓글에 대한 접근 제한 롤| |Job결과조회롤|일반사용자가 Job결과페이지 조회가 가능하도록 하는, 배치운영메뉴중 Job 실행결과메뉴에 대한 접근 제한 롤| |Job결과목록조회롤|일반사용자가 Job결과목록 조회가 가능하도록 하는, 배치운영메뉴중 Job 실행결과메뉴에 대한 접근 제한 롤| |사용자정보조회롤|일반사용자 및 배치운영자가 자신의 정보를 보기위한 접근 제한 롤| |알림수신자목록조회롤|배치운영자가 배치등록시 사용해야하는 사용자목록팝업에 대한 접근 제한 롤(사용자관리메뉴는 관리자만 접근 가능)| {{:egovframework:bopr:가이드:관리자메뉴:egovroleinsert.png|}} * 롤 등록 - 롤명③을 입력한다. - 롤패턴④을 입력한다. - 패턴입력시 자바 정규식 형태로 입력해야 한다.(예> \A/bopr/uam/EgovUserManagePopUp.do.*\Z 이 밖에도 기초데이터로 제공되는 롤을 참고할것) - 접근오류발생시 패턴입력이 제대로 되어있나 살펴보아야 한다. (예> \A/bopr/uam/EgovUserManagePopUp.do.*→Z의 형태로 입력된 오류가 발견되었다. \가 먹지않는 경우에는 \\로 하면 입력이 정상적으로 이루어진다.) - 롤타입⑤을 입력한다. - 롤타입은 URL형태를 선택한다. - 롤Sort⑥를 입력한다. - 롤Sort는 해당 롤을 체크하는 순서이다. 빠를수록 먼저 체크되기 때문에 중요한 롤이 아닌경우 롤목록을 참고하여 그 순서에 따르도록 한다. - 등록버튼②을 클릭하여 입력한 내용을 등록한다. * 등록취소 - 목록버튼①을 클릭하여 등록을 취소하고 롤목록으로 돌아간다. ===== 롤 수정 및 상세조회 화면 ===== ^Action^URL^Controller method^QueryID^ |롤관리 목록화면 이동|/sec/rmt/EgovRoleList.do|selectRoleList|"roleManageDAO.selectRoleList"| |롤관리 수정|/sec/rmt/EgovRoleUpdate.do|updateRole|"roleManageDAO.updateRole"| |롤관리 삭제|/sec/rmt/EgovRoleDelete.do|deleteRole|"roleManageDAO.deleteRole"| {{:egovframework:bopr:가이드:관리자메뉴:egovroleupdate.png|}} * 롤 수정 - 롤명④을 입력한다. - 롤패턴⑤을 입력한다. - 롤타입⑥을 입력한다. - 롤Sort⑦를 입력한다. - 수정버튼②을 클릭하여 입력한 내용을 수정한다. * 수정취소 - 목록버튼①을 클릭하여 수정을 취소하고 롤목록으로 돌아간다. * 삭제 기능 수행 - '삭제'버튼③을 클릭하여 해당 권한을 삭제한다. - ※ROLE_ADMIN에 부여된 롤은 삭제되지 않는다. ===== 롤 상하관계 관리 화면 ===== ^Action^URL^Controller method^QueryID^ |롤상하관계관리 등록|/sec/rmt/EgovRoleHierarchyInsert.do|insertAuthor|"roleHierarchyManageDAO.insertRoleHierarchy"| {{:egovframework:bopr:가이드:관리자메뉴:egovrolehierarchymanage.png|}} * 롤 상하관계 등록 - 상위롤②을 선택한다. - 하위롤③을 선택한다. - 등록버튼①을 클릭한다. - 롤 상하관계를 지정해야 하위롤의 접근권한을 상위롤이 새로 등록하지 않아도 쓸 수 있다. - 만약 롤간의 상하관계가 지정되지 않았다면, 해당 롤에 대해서는 ROLE_ADMIN을 제외한 다른 권한이 접근할수 없게 된다. ===== 권한 부여 관리 화면 ===== ^Action^URL^Controller method^QueryID^ |권한부여관리 검색|/sec/rgm/EgovAuthorGroupList.do|selectAuthorGroupList|"authorGroupDAO.selectAuthorGroupList"| |권한부여관리 등록|/sec/rgm/EgovAuthorGroupInsert.do|insertAuthorGroup|"authorGroupDAO.insertAuthorGroup"| |권한부여관리 삭제|/sec/rgm/EgovAuthorGroupDelete.do|deleteAuthorGroup|"authorGroupDAO.deleteAuthorGroup"| {{:egovframework:bopr:가이드:관리자메뉴:egovauthorgroupmanage.png|}} * 목록 검색 - 검색조건①을 선택한다. - 검색어②를 입력한다. - 검색버튼③을 클릭하여 검색 기능을 실행한다. * 권한부여하기 - 권한을 부여할 ID를 체크⑦한다.(모두 체크할때는 ⑥) - 해당 ID에 부여할 권한을 선택⑧한다. - 등록버튼④을 클릭한다. - 여러개도 동시에 등록이 가능하다. * 권한 삭제 기능 수행 - 권한을 삭제할 ID를 체크⑦한다.(모두 체크할때는 ⑥) - '삭제'버튼⑤을 클릭하여 해당 권한을 삭제한다. - 해당 ID에 권한이 없어지며 등록여부가 'N'으로 표시된다.(권한을 삭제한다고, ID가 삭제되는것은 아니다.)