From d83739de2ce2236f1a5838cef95e4f127da1b437 Mon Sep 17 00:00:00 2001 From: mjkhan21 Date: Mon, 15 May 2023 13:16:20 +0900 Subject: [PATCH] =?UTF-8?q?javadoc=20=EB=B3=B4=EC=99=84=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../access/dao/ActionGroupMapper.java | 35 +++++---- .../security/access/dao/AuthorityMapper.java | 34 ++++---- .../access/service/ActionGroupService.java | 31 +++++--- .../access/service/AuthorityService.java | 43 +++++++---- .../access/service/bean/ActionGroupBean.java | 26 ++++--- .../service/bean/ActionGroupServiceBean.java | 5 ++ .../access/service/bean/AuthorityBean.java | 19 ++++- .../service/bean/AuthorityServiceBean.java | 5 ++ .../access/web/ActionGroupController.java | 53 +++++++------ .../access/web/AuthorityController.java | 77 +++++++++---------- .../authentication/dao/PolicyMapper.java | 22 ++---- .../service/AuthenticationService.java | 17 ++-- .../service/bean/AuthenticationBean.java | 13 +--- .../authentication/web/PolicyController.java | 16 ++-- 14 files changed, 220 insertions(+), 176 deletions(-) diff --git a/src/main/java/cokr/xit/base/security/access/dao/ActionGroupMapper.java b/src/main/java/cokr/xit/base/security/access/dao/ActionGroupMapper.java index 624b829..3f30723 100644 --- a/src/main/java/cokr/xit/base/security/access/dao/ActionGroupMapper.java +++ b/src/main/java/cokr/xit/base/security/access/dao/ActionGroupMapper.java @@ -15,20 +15,24 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("actionGroupMapper") public interface ActionGroupMapper extends AbstractMapper { - /**주어진 조건에 따라 기능 그룹 목록을 조회한다. - * @param by 조건 필드 이름 - * - * @param term 조건 필드값 - * @param pageNum 시작 페이지 번호 - * @param fetchSize 한 번에 가져올 기능 그룹수 + /**주어진 조건에 따라 기능 그룹 목록을 조회한다.
+ * {@link cokr.xit.base.security.access.service.ActionGroupService#getGroupList(ActionQuery)} 참고 + * @param req 기능 그룹 목록 조회 조건 * @return 기능 그룹 목록 */ List getGroupList(ActionQuery req); + /**주어진 아이디의 기능 그룹 정보를 반환한다. + * @param groupID 기능 그룹 아이디 + * @return 기능 그룹 정보 + */ + default DataObject getGroupInfo(String groupID) { + List list = getGroupList(new ActionQuery().setBy("groupID").setTerm(groupID)); + return !list.isEmpty() ? list.get(0) : null; + } + /**지정하는 기능 그룹을 가져온다. - * @param groupIDs 기능 그룹 아이디 + * @param req 기능 그룹 목록 조회 조건 * @return 기능 그룹 */ List getGroups(ActionQuery req); @@ -70,7 +74,7 @@ public interface ActionGroupMapper extends AbstractMapper { int updateGroup(ActionGroup group); /**지정하는 기능 그룹을 제거한다. - * @param groupIDs 기능 그룹 아이디 + * @param params 파라미터 * @return 저장된 정보수 */ int removeGroups(Map params); @@ -91,12 +95,13 @@ public interface ActionGroupMapper extends AbstractMapper { } /**지정하는 그룹의 기능 목록을 조회한다. - * @param groupIDs 기능 그룹 아이디 + * @param req 기능 그룹 조회 조건 * @return 기능 목록 */ List getActionList(ActionQuery req); - /**지정하는 그룹의 기능 목록을 조회한다. + /**지정하는 그룹의 기능 목록을 조회한다.
+ * {@link cokr.xit.base.security.access.service.ActionGroupService#getActionList(ActionQuery)} 참고 * @param groupIDs 기능 그룹 아이디 * @return 기능 목록 */ @@ -105,8 +110,7 @@ public interface ActionGroupMapper extends AbstractMapper { } /**지정하는 기능 그룹에 기능들을 추가한다. - * @param groupID 그룹 아이디 - * @param actions 기능(URL) + * @param params 파라미터 * @return 저장된 정보수 */ int addActions(Map params); @@ -127,8 +131,7 @@ public interface ActionGroupMapper extends AbstractMapper { } /**지정하는 기능 그룹의 기능을 제거한다. - * @param groupID 기능 그룹 아이디 - * @param actions 기능 + * @param params 파라미터 * @return 저장된 정보수 */ int removeActions(Map params); diff --git a/src/main/java/cokr/xit/base/security/access/dao/AuthorityMapper.java b/src/main/java/cokr/xit/base/security/access/dao/AuthorityMapper.java index b5185b2..96ad92b 100644 --- a/src/main/java/cokr/xit/base/security/access/dao/AuthorityMapper.java +++ b/src/main/java/cokr/xit/base/security/access/dao/AuthorityMapper.java @@ -17,11 +17,22 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("authorityMapper") public interface AuthorityMapper extends AbstractMapper { - /**주어진 조건의 권한 목록을 조회한다. + /**주어진 조건의 권한 목록을 조회한다.
+ * {@link cokr.xit.base.security.access.service.AuthorityService#getAuthorityList(AuthorityQuery)} 참고 + * @param req 조회 조건 * @return 권한 목록 */ List getAuthorityList(AuthorityQuery req); + /**주어진 아이디의 권한 정보를 반환한다. + * @param authID 권한 아이디 + * @return 권한 정보 + */ + default DataObject getAuthorityInfo(String authID) { + List list = getAuthorityList(new AuthorityQuery().setAuthIDs(authID)); + return !list.isEmpty() ? list.get(0) : null; + } + /**주어진 조건의 권한들을 가져온다. * @return 권한 목록 */ @@ -79,10 +90,9 @@ public interface AuthorityMapper extends AbstractMapper { return removeAuthorities(params().set("authIDs", authIDs)); } - /**지정하는 권한의 기능 그룹 목록을 조회한다. - * @param pageNum 시작 페이지 번호 - * @param fetchSize 한 번에 가져올 기능 그룹수 - * @param authIDs 권한 아이디 + /**지정하는 권한의 기능 그룹 목록을 조회한다.
+ * {@link cokr.xit.base.security.access.service.AuthorityService#getActionGroupList(AuthorityQuery)} 참고 + * @param req 조회 조건 * @return 권한별 기능 그룹 목록 */ List getActionGroupList(AuthorityQuery req); @@ -155,10 +165,9 @@ public interface AuthorityMapper extends AbstractMapper { */ List getActionList(); - /**지정하는 권한의 사용자를 조회한다. - * @param pageNum 시작 페이지 번호 - * @param fetchSize 한 번에 가져올 사용자 정보수 - * @param authIDs 권한 아이디 + /**지정하는 권한의 사용자를 조회한다.
+ * {@link cokr.xit.base.security.access.service.AuthorityService#getUserList(AuthorityQuery)} 참고 + * @param req 조회 조건 * @return 사용자 목록 */ List getUserList(AuthorityQuery req); @@ -184,8 +193,7 @@ public interface AuthorityMapper extends AbstractMapper { } /**지정하는 권한에 사용자를 추가한다. - * @param authID 권한 아이디 - * @param userIDs 사용자 아이디 + * @param params 파라미터 * @return 저장된 정보수 */ int addUsers(Map params); @@ -206,10 +214,6 @@ public interface AuthorityMapper extends AbstractMapper { /**지정하는 권한에서 사용자를 제거한다.
* 사용자를 지정하지 않으면 해당 권한의 모든 사용자를 제거한다. * @param params 사용자 제거 조건 - *
 {
-	 *     "authIDs": 권한 아이디(배열),
-	 *     "groupIDs": 기능그룹 아이디(배열)
-	 * }
* @return 저장된 정보수 */ int removeUsers(Map params); diff --git a/src/main/java/cokr/xit/base/security/access/service/ActionGroupService.java b/src/main/java/cokr/xit/base/security/access/service/ActionGroupService.java index d0314a5..984d627 100644 --- a/src/main/java/cokr/xit/base/security/access/service/ActionGroupService.java +++ b/src/main/java/cokr/xit/base/security/access/service/ActionGroupService.java @@ -6,12 +6,12 @@ import cokr.xit.base.security.access.ActionGroup; import cokr.xit.foundation.data.DataObject; /**기능 그룹 관리 서비스를 제공한다. - *
  • {@link #getGroupList(String, String, int, int) 기능 그룹 목록 조회}
  • + *
    • {@link #getGroupList(ActionQuery) 기능 그룹 목록 조회}
    • *
    • {@link #getGroups(String...) 기능 그룹 가져오기}
    • *
    • {@link #create(ActionGroup) 기능 그룹 등록}
    • *
    • {@link #update(ActionGroup) 기능 그룹 수정}
    • *
    • {@link #remove(String...) 기능 그룹 제거}
    • - *
    • {@link #getActionList(String...) 기능 목록 조회}
    • + *
    • {@link #getActionList(ActionQuery) 기능 목록 조회}
    • *
    • {@link #addActions(String, String...) 그룹 기능 추가}
    • *
    • {@link #removeActions(String, String...) 그룹 기능 제거}
    • *
    @@ -19,17 +19,26 @@ import cokr.xit.foundation.data.DataObject; */ public interface ActionGroupService { /**주어진 조건에 따라 기능 그룹 목록을 조회한다. - * @param by 조건 필드 이름 - *
    • actionGroupName - 기능 그룹 이름
    • - *
    • 그 외는 기능 그룹 아이디
    • + * @param req 조회 조건 + *
      • by: 조건 필드 이름 + *
        • groupID - 그룹 아이디
        • + *
        • 그 외는 그룹 이름
        • + *
        + *
      • + *
      • term: 조건 필드값
      • + *
      • pageNum: 페이지 시작 번호
      • + *
      • fetchSize: 페이지 목록 건수
      • *
      - * @param term 조건 필드값 - * @param pageNum 시작 페이지 번호 - * @param fetchSize 한 번에 가져올 기능 그룹수 * @return 기능 그룹 목록 */ List getGroupList(ActionQuery req); + /**주어진 아이디의 기능 그룹 정보를 반환한다. + * @param groupID 기능 그룹 아이디 + * @return 기능 그룹 정보 + */ + DataObject getGroupInfo(String groupID); + /**지정하는 기능 그룹을 가져온다. * @param groupIDs 기능 그룹 아이디 * @return 기능 그룹 @@ -67,7 +76,11 @@ public interface ActionGroupService { int remove(String... groupIDs); /**지정하는 그룹의 기능 목록을 조회한다. - * @param groupIDs 기능 그룹 아이디 + * @param req 기능 목록 조회 조건 + *
      • groupIDs: 기능 그룹 아이디
      • + *
      • pageNum: 페이지 시작 번호
      • + *
      • fetchSize: 페이지 목록 건수
      • + *
      * @return 기능 목록 */ List getActionList(ActionQuery req); diff --git a/src/main/java/cokr/xit/base/security/access/service/AuthorityService.java b/src/main/java/cokr/xit/base/security/access/service/AuthorityService.java index 5114f9f..64b6527 100644 --- a/src/main/java/cokr/xit/base/security/access/service/AuthorityService.java +++ b/src/main/java/cokr/xit/base/security/access/service/AuthorityService.java @@ -6,15 +6,15 @@ import cokr.xit.base.security.Authority; import cokr.xit.foundation.data.DataObject; /**권한 정보 서비스를 제공한다. - *
      • {@link #getAuthorityList(String, String, int, int) 권한 목록 조회}
      • + *
        • {@link #getAuthorityList(AuthorityQuery) 권한 목록 조회}
        • *
        • {@link #getAuthorities(String...) 권한 가져오기}
        • *
        • {@link #create(Authority) 권한 등록}
        • *
        • {@link #update(Authority) 권한 수정}
        • *
        • {@link #removeAuthorities(String...) 권한 제거}
        • - *
        • {@link #getActionGroupList(int, int, String...) 권한별 기능 그룹 조회}
        • + *
        • {@link #getActionGroupList(AuthorityQuery) 권한별 기능 그룹 조회}
        • *
        • {@link #addActionGroups(String, String...) 권한 기능 그룹 추가}
        • *
        • {@link #removeActionGroups(String, String...) 권한 기능 그룹 제거}
        • - *
        • {@link #getUserList(int, int, String...) 권한별 사용자 조회}
        • + *
        • {@link #getUserList(AuthorityQuery) 권한별 사용자 조회}
        • *
        • {@link #addUsers(String, String...) 권한 사용자 추가}
        • *
        • {@link #removeUsers(String, String...) 권한 사용자 제거}
        • *
        @@ -22,17 +22,26 @@ import cokr.xit.foundation.data.DataObject; */ public interface AuthorityService { /**주어진 조건의 권한 목록을 조회한다. - * @param by 조건 필드 이름 - *
        • authID - 권한 아이디
        • - *
        • 그 외는 권한 이름
        • + * @param req 조회 조건 + *
          • by: 조건 필드 이름 + *
            • authID - 권한 아이디
            • + *
            • 그 외는 권한 이름
            • + *
            + *
          • + *
          • term: 조건 필드값
          • + *
          • pageNum: 페이지 시작 번호
          • + *
          • fetchSize: 페이지 목록 건수
          • *
          - * @param term 조건 필드값 - * @param pageNum 시작 페이지 번호 - * @param fetchSize 한 번에 가져올 권한 정보수 * @return 권한 목록 */ List getAuthorityList(AuthorityQuery req); + /**주어진 아이디의 권한 정보를 반환한다. + * @param authID 권한 아이디 + * @return 권한 정보 + */ + DataObject getAuthorityInfo(String authID); + /**지정하는 권한들을 가져온다. * @param authIDs 권한 아이디 * @return 권한 목록 @@ -70,9 +79,11 @@ public interface AuthorityService { int removeAuthorities(String... authIDs); /**지정하는 권한의 기능 그룹 목록을 조회한다. - * @param pageNum 시작 페이지 번호 - * @param fetchSize 한 번에 가져올 기능 그룹수 - * @param authIDs 권한 아이디 + * @param req 조회 조건 + *
          • authIDs: 권한 아이디
          • + *
          • pageNum: 페이지 시작 번호
          • + *
          • fetchSize: 페이지 목록 건수
          • + *
          * @return 권한별 기능 그룹 목록 */ List getActionGroupList(AuthorityQuery req); @@ -93,9 +104,11 @@ public interface AuthorityService { int removeActionGroups(String authID, String... groupIDs); /**지정하는 권한의 사용자를 조회한다. - * @param pageNum 시작 페이지 번호 - * @param fetchSize 한 번에 가져올 사용자 정보수 - * @param authIDs 권한 아이디 + * @param req 조회 조건 + *
          • authIDs: 권한 아이디
          • + *
          • pageNum: 페이지 시작 번호
          • + *
          • fetchSize: 페이지 목록 건수
          • + *
          * @return 사용자 목록 */ List getUserList(AuthorityQuery req); diff --git a/src/main/java/cokr/xit/base/security/access/service/bean/ActionGroupBean.java b/src/main/java/cokr/xit/base/security/access/service/bean/ActionGroupBean.java index 68c1fa3..3d73140 100644 --- a/src/main/java/cokr/xit/base/security/access/service/bean/ActionGroupBean.java +++ b/src/main/java/cokr/xit/base/security/access/service/bean/ActionGroupBean.java @@ -12,7 +12,7 @@ import cokr.xit.base.security.access.service.ActionQuery; import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.data.DataObject; -/**기능 그룹 관리 DAO +/**기능 그룹 관리 Bean * @author mjkhan */ @Component("actionGroupBean") @@ -20,14 +20,9 @@ public class ActionGroupBean extends AbstractComponent { @Resource(name = "actionGroupMapper") private ActionGroupMapper actionGroupMapper; - /**주어진 조건에 따라 기능 그룹 목록을 조회한다. - * @param by 조건 필드 이름 - *
          • actionGroupName - 기능 그룹 이름
          • - *
          • 그 외는 기능 그룹 아이디
          • - *
          - * @param term 조건 필드값 - * @param pageNum 시작 페이지 번호 - * @param fetchSize 한 번에 가져올 기능 그룹수 + /**주어진 조건에 따라 기능 그룹 목록을 조회한다.
          + * {@link cokr.xit.base.security.access.service.ActionGroupService#getGroupList(ActionQuery)} 참고 + * @param req 기능 그룹 조회 조건 * @return 기능 그룹 목록 */ public List getGroupList(ActionQuery req) { @@ -39,6 +34,14 @@ public class ActionGroupBean extends AbstractComponent { return actionGroupMapper.getGroupList(req); } + /**주어진 아이디의 기능 그룹 정보를 반환한다. + * @param groupID 기능 그룹 아이디 + * @return 기능 그룹 정보 + */ + public DataObject getGroupInfo(String groupID) { + return actionGroupMapper.getGroupInfo(groupID); + } + /**지정하는 기능 그룹을 가져온다. * @param groupIDs 기능 그룹 아이디 * @return 기능 그룹 @@ -94,8 +97,9 @@ public class ActionGroupBean extends AbstractComponent { return actionGroupMapper.removeGroups(groupIDs); } - /**지정하는 그룹의 기능 목록을 조회한다. - * @param groupIDs 기능 그룹 아이디 + /**지정하는 그룹의 기능 목록을 조회한다.
          + * {@link cokr.xit.base.security.access.service.ActionGroupService#getActionList(ActionQuery)} 참고 + * @param req 기능 목록 조회 조건 * @return 기능 목록 */ public List getActionList(ActionQuery req) { diff --git a/src/main/java/cokr/xit/base/security/access/service/bean/ActionGroupServiceBean.java b/src/main/java/cokr/xit/base/security/access/service/bean/ActionGroupServiceBean.java index 925ce15..0b79f50 100644 --- a/src/main/java/cokr/xit/base/security/access/service/bean/ActionGroupServiceBean.java +++ b/src/main/java/cokr/xit/base/security/access/service/bean/ActionGroupServiceBean.java @@ -31,6 +31,11 @@ public class ActionGroupServiceBean extends AbstractServiceBean implements Actio return actionGroupBean.getGroupList(req); } + @Override + public DataObject getGroupInfo(String groupID) { + return actionGroupBean.getGroupInfo(groupID); + } + @Override public List getGroups(String... groupIDs) { return actionGroupBean.getGroups(groupIDs); diff --git a/src/main/java/cokr/xit/base/security/access/service/bean/AuthorityBean.java b/src/main/java/cokr/xit/base/security/access/service/bean/AuthorityBean.java index b9da908..0b7ebdc 100644 --- a/src/main/java/cokr/xit/base/security/access/service/bean/AuthorityBean.java +++ b/src/main/java/cokr/xit/base/security/access/service/bean/AuthorityBean.java @@ -20,7 +20,8 @@ public class AuthorityBean extends AbstractComponent { @Resource(name = "authorityMapper") private AuthorityMapper authorityMapper; - /**주어진 조건의 권한 목록을 조회한다. + /**주어진 조건의 권한 목록을 조회한다.
          + * {@link cokr.xit.base.security.access.service.AuthorityService#getAuthorityList(AuthorityQuery)} 참고 * @param req 조회 조건 * @return 권한 목록 */ @@ -33,6 +34,14 @@ public class AuthorityBean extends AbstractComponent { return authorityMapper.getAuthorityList(req); } + /**주어진 아이디의 권한 정보를 반환한다. + * @param authID 권한 아이디 + * @return 권한 정보 + */ + public DataObject getAuthorityInfo(String authID) { + return authorityMapper.getAuthorityInfo(authID); + } + /**지정하는 권한들을 가져온다. * @param authIDs 권한 아이디 * @return 권한 목록 @@ -92,8 +101,9 @@ public class AuthorityBean extends AbstractComponent { return authorityMapper.removeAuthorities(authIDs); } - /**지정하는 권한의 기능 그룹 목록을 조회한다. - * @param req 조회 조건(authIDs - 권한 아이디) + /**지정하는 권한의 기능 그룹 목록을 조회한다.
          + * {@link cokr.xit.base.security.access.service.AuthorityService#getActionGroupList(AuthorityQuery)} 참고 + * @param req 조회 조건 * @return 권한별 기능 그룹 목록 */ public List getActionGroupList(AuthorityQuery req) { @@ -135,7 +145,8 @@ public class AuthorityBean extends AbstractComponent { return authorityMapper.getActionList(); } - /**지정하는 권한의 사용자를 조회한다. + /**지정하는 권한의 사용자를 조회한다.
          + * {@link cokr.xit.base.security.access.service.AuthorityService#getUserList(AuthorityQuery)} 참고 * @param req 조회 조건 * @return 사용자 목록 */ diff --git a/src/main/java/cokr/xit/base/security/access/service/bean/AuthorityServiceBean.java b/src/main/java/cokr/xit/base/security/access/service/bean/AuthorityServiceBean.java index 4f8423e..9eacb24 100644 --- a/src/main/java/cokr/xit/base/security/access/service/bean/AuthorityServiceBean.java +++ b/src/main/java/cokr/xit/base/security/access/service/bean/AuthorityServiceBean.java @@ -28,6 +28,11 @@ public class AuthorityServiceBean extends AbstractServiceBean implements Authori return authorityMapper.getAuthorityList(req); } + @Override + public DataObject getAuthorityInfo(String authID) { + return authorityMapper.getAuthorityInfo(authID); + } + @Override public List getAuthorities(String... authIDs) { return authorityMapper.getAuthorities(authIDs); diff --git a/src/main/java/cokr/xit/base/security/access/web/ActionGroupController.java b/src/main/java/cokr/xit/base/security/access/web/ActionGroupController.java index 545ac31..e752762 100644 --- a/src/main/java/cokr/xit/base/security/access/web/ActionGroupController.java +++ b/src/main/java/cokr/xit/base/security/access/web/ActionGroupController.java @@ -32,8 +32,8 @@ public class ActionGroupController extends AbstractController { } /**기능 그룹 관리 메인 화면을 연다.
          - * 이 때 {@link #getActionGroupList(String, String, Integer) 기능 그룹 조회} 결과도 같이 보낸다. - * @return "actionGroup/actionGroup-main" + * 이 때 {@link #getActionGroupList(ActionQuery) 기능 그룹 조회} 결과도 같이 보낸다. + * @return base/actionGroup/actionGroup-main */ @RequestMapping(name="기능 그룹 메인", value="/main.do") public ModelAndView main() { @@ -42,16 +42,12 @@ public class ActionGroupController extends AbstractController { return mav.addObject("groupList", toJson(mav.getModel().get("groupList"))); } - /**주어진 조건에 따라 기능 그룹 목록을 조회한다. - * @param by 조건 필드 이름 - *
          • groupName - 기능 그룹 이름
          • - *
          • 그 외는 기능 그룹 아이디
          • - *
          - * @param term 조건 필드값 - * @param pageNum 시작 페이지 번호 + /**주어진 조건에 따라 기능 그룹 목록을 조회한다.
          + * {@link ActionGroupService#getGroupList(ActionQuery)} 참고 + * @param req 조회 조건 * @return jsonView *
           {
          -	 *    "groupList": 기능 그룹 목록,
          +	 *    "groupList": [기능 그룹 목록],
           	 *    "groupStart": 목록 시작 인덱스,
           	 *    "groupFetch": 한 번에 가져오는 기능 그룹 정보수,
           	 *    "groupTotal": 조회 결과 찾은 기능 그룹 전체 수
          @@ -68,7 +64,7 @@ public class ActionGroupController extends AbstractController {
           	}
           
           	/**사용자의 기능 그룹 선택을 위한 화면을 연다.
          -	 * @return "actionGroup/select"
          +	 * @return base/actionGroup/select-actionGroup
           	 */
           	@RequestMapping(name="기능 그룹 선택", value="/select.do")
           	public ModelAndView select(boolean multiple) {
          @@ -83,7 +79,7 @@ public class ActionGroupController extends AbstractController {
           	 * @param groupID 기능 그룹 아이디
           	 * @return jsonView
           	 * 
           {
          -	 *    "duplicate": true || false
          +	 *    "duplicate": 중복이면 true, 그렇지 않으면false
           	 * }
          */ @RequestMapping(name="중복 확인", value="/duplicate.do") @@ -93,14 +89,17 @@ public class ActionGroupController extends AbstractController { .addObject("duplicate", group != null); } + /**주어진 아이디의 기능 그룹 정보를 반환한다. + * @param groupID 기능 그룹 아이디 + * @return base/actionGroup/actionGroup-info 또는 jsonView + *
           {
          +	 *     "groupInfo": 기능 그룹 정보
          +	 * }
          + */ @RequestMapping(name="기능 그룹 정보 조회", value="/info.do") public ModelAndView getInfo(String groupID) { if (!isEmpty(groupID)) { - ActionQuery req = new ActionQuery() - .setBy("groupID") - .setTerm(groupID); - List groupList = actionGroupService.getGroupList(req); - DataObject groupInfo = !groupList.isEmpty() ? groupList.get(0) : null; + DataObject groupInfo = actionGroupService.getGroupInfo(groupID); boolean json = jsonResponse(); return new ModelAndView(json ? "jsonView" : "base/actionGroup/actionGroup-info") .addObject("groupInfo", json ? groupInfo : toJson(groupInfo)); @@ -113,7 +112,7 @@ public class ActionGroupController extends AbstractController { * @param group 기능 그룹 * @return jsonView *
           {
          -	 *    "saved": true || false
          +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="기능 그룹 등록", value="/create.do") @@ -127,7 +126,7 @@ public class ActionGroupController extends AbstractController { * @param group 기능 그룹 * @return jsonView *
           {
          -	 *    "saved": true || false
          +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="기능 그룹 수정", value="/update.do") @@ -142,7 +141,7 @@ public class ActionGroupController extends AbstractController { * @return jsonView *
           {
           	 *    "affected": 저장된 정보수,
          -	 *    "saved": true || false
          +	 *    "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="기능 그룹 삭제", value="/remove.do") @@ -153,11 +152,15 @@ public class ActionGroupController extends AbstractController { .addObject("saved", affected > 0); } - /**지정하는 그룹의 기능 목록을 조회한다. - * @param groupID 기능 그룹 아이디 + /**지정하는 그룹의 기능 목록을 조회한다.
          + * {@link ActionGroupService#getActionList(ActionQuery)} 참고 + * @param req 기능 목록 조회 조건 * @return jsonView *
           {
          -	 *    "actionList": [...]
          +	 *    "actionList": [기능 목록],
          +	 *    "actionStart": 페이지 목록 시작 인덱스,
          +	 *    "actionFetch": 페이지 목록 건수,
          +	 *    "actionTotal": 조회 결과 찾은 전체 기능 목록수
           	 * }
          */ @RequestMapping(name="기능 그룹별 기능(URL) 조회", value="/action/list.do") @@ -176,7 +179,7 @@ public class ActionGroupController extends AbstractController { * @return jsonView *
           {
           	 *    "affected": 저장된 정보수,
          -	 *    "saved": true || false
          +	 *    "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @RequestMapping(name="기능 그룹별 기능(URL) 추가", value="/action/add.do") @@ -193,7 +196,7 @@ public class ActionGroupController extends AbstractController { * @return jsonView *
           {
           	 *    "affected": 저장된 정보수,
          -	 *    "saved": true || false
          +	 *    "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @RequestMapping(name="기능 그룹별 기능(URL) 삭제", value="/action/remove.do") diff --git a/src/main/java/cokr/xit/base/security/access/web/AuthorityController.java b/src/main/java/cokr/xit/base/security/access/web/AuthorityController.java index 80347b0..90850f4 100644 --- a/src/main/java/cokr/xit/base/security/access/web/AuthorityController.java +++ b/src/main/java/cokr/xit/base/security/access/web/AuthorityController.java @@ -1,7 +1,5 @@ package cokr.xit.base.security.access.web; -import java.util.List; - import javax.annotation.Resource; import org.springframework.web.bind.annotation.PostMapping; @@ -32,7 +30,7 @@ public class AuthorityController extends AbstractController { /**권한 관리 메인 화면을 연다.
          * 이 때 권한 목록 정보를 같이 보낸다. - * @return "authority/authority-main" + * @return base/authority/authority-main */ @RequestMapping(name="권한 메인", value="/main.do") public ModelAndView main() { @@ -41,16 +39,12 @@ public class AuthorityController extends AbstractController { return mav.addObject("authorityList", toJson(mav.getModel().remove("authorityList"))); } - /**주어진 조건의 권한 목록을 조회한다. - * @param by 조건 필드 이름 - *
          • authID - 권한 아이디
          • - *
          • 그 외는 권한 이름
          • - *
          - * @param term 조건 필드값 - * @param pageNum 시작 페이지 번호 + /**주어진 조건의 권한 목록을 조회한다.
          + * {@link AuthorityService#getAuthorityList(AuthorityQuery)} 참고 + * @param req 조회 조건 * @return jsonView - *
          {
          -	 *     "authorityList": 권한 목록,
          +	 * 
           {
          +	 *     "authorityList": [권한 목록],
           	 *     "authorityStart": 권한 목록 시작 인덱스,
           	 *     "authorityFetch": 한 번에 가져오는 권한 정보수,
           	 *     "authorityTotal": 조회로 찾은 전체 권한수
          @@ -69,8 +63,8 @@ public class AuthorityController extends AbstractController {
           	/**지정한 권한 아이디가 중복된 것인지 확인한다.
           	 * @param authID 권한 아이디
           	 * @return jsonView
          -	 * 
          {
          -	 *     "duplicate": true || false
          +	 * 
           {
          +	 *     "duplicate": 중복이면 true, 그렇지 않으면 false
           	 * }
          */ @RequestMapping(name="중복 확인", value="/duplicate.do") @@ -80,14 +74,17 @@ public class AuthorityController extends AbstractController { .addObject("duplicate", authority != null); } + /**주어진 아이디의 권한 정보를 반환한다. + * @param authID 권한 아이디 + * @return base/authority/authority-info 또는 jsonView + *
           {
          +	 *     "authorityInfo": 권한 정보
          +	 * }
          + */ @RequestMapping(name="권한 정보 조회", value="/info.do") public ModelAndView getInfo(String authID) { if (!isEmpty(authID)) { - AuthorityQuery req = new AuthorityQuery() - .setBy("authID") - .setTerm(authID); - List authList = authorityService.getAuthorityList(req); - DataObject authInfo = !authList.isEmpty() ? authList.get(0) : null; + DataObject authInfo = authorityService.getAuthorityInfo(authID); boolean json = jsonResponse(); return new ModelAndView(json ? "jsonView" : "base/authority/authority-info") .addObject("authorityInfo", json ? authInfo : toJson(authInfo)); @@ -99,8 +96,8 @@ public class AuthorityController extends AbstractController { /**권한을 등록한다. * @param authority 권한 * @return jsonView - *
          {
          -	 *     "saved": true || false
          +	 * 
           {
          +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="권한 등록", value="/create.do") @@ -113,8 +110,8 @@ public class AuthorityController extends AbstractController { /**권한을 수정한다. * @param authority 권한 * @return jsonView - *
          {
          -	 *     "saved": true || false
          +	 * 
           {
          +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="권한 수정", value="/update.do") @@ -127,9 +124,9 @@ public class AuthorityController extends AbstractController { /**지정하는 권한들을 삭제한다. * @param authIDs 권한 아이디 * @return jsonView - *
          {
          +	 * 
           {
           	 *     "affected": 저장된 정보수,
          -	 *     "saved": true || false
          +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="권한 삭제", value="/remove.do") @@ -140,11 +137,11 @@ public class AuthorityController extends AbstractController { .addObject("saved", affected > 0); } - /**지정하는 권한의 기능 그룹 목록을 조회한다. - * @param pageNum 시작 페이지 번호 - * @param authIDs 권한 아이디 + /**지정하는 권한의 기능 그룹 목록을 조회한다.
          + * {@link AuthorityService#getActionGroupList(AuthorityQuery)} 참고 + * @param req 조회 조건 * @return jsonView - *
          {
          +	 * 
           {
           	 *     "actionList": 기능 목록,
           	 *     "actionStart": 기능 목록 시작 인덱스,
           	 *     "actionFetch": 한 번에 가져오는 기능 정보수,
          @@ -165,9 +162,9 @@ public class AuthorityController extends AbstractController {
           	 * @param authID 권한 아이디
           	 * @param groupIDs 기능 그룹 아이디
           	 * @return jsonView
          -	 * 
          {
          +	 * 
           {
           	 *     "affected": 저장된 정보수,
          -	 *     "saved": true || false
          +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="권한별 기능 추가", value="/action/add.do") @@ -183,7 +180,7 @@ public class AuthorityController extends AbstractController { * @param authID 권한 아이디 * @param groupIDs 기능 그룹 아이디 * @return jsonView - *
          {
          +	 * 
           {
           	 *     "affected": 저장된 정보수,
           	 *     "saved": true || false
           	 * }
          @@ -196,11 +193,11 @@ public class AuthorityController extends AbstractController { .addObject("saved", affected > 0); } - /**지정하는 권한의 사용자 목록을 조회한다. - * @param pageNum 시작 페이지 번호 - * @param authIDs 권한 아이디 + /**지정하는 권한의 사용자 목록을 조회한다.
          + * {@link AuthorityService#getUserList(AuthorityQuery)} 참고 + * @param req 조회 조건 * @return jsonView - *
          {
          +	 * 
           {
           	 *     "userList": 사용자 목록,
           	 *     "userStart": 사용자 목록 시작 인덱스,
           	 *     "userFetch": 한 번에 가져오는 사용자 정보수,
          @@ -221,9 +218,9 @@ public class AuthorityController extends AbstractController {
           	 * @param authID 권한 아이디
           	 * @param userIDs 사용자 아이디
           	 * @return jsonView
          -	 * 
          {
          +	 * 
           {
           	 *     "affected": 저장된 정보수,
          -	 *     "saved": true || false
          +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="권한별 사용자 추가", value="/user/add.do") @@ -239,9 +236,9 @@ public class AuthorityController extends AbstractController { * @param authID 권한 아이디 * @param userIDs 사용자 아이디 * @return jsonView - *
          {
          +	 * 
           {
           	 *     "affected": 저장된 정보수,
          -	 *     "saved": true || false
          +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
           	 * }
          */ @PostMapping(name="권한별 사용자 삭제", value="/user/remove.do") diff --git a/src/main/java/cokr/xit/base/security/authentication/dao/PolicyMapper.java b/src/main/java/cokr/xit/base/security/authentication/dao/PolicyMapper.java index 949dcf2..d501eb9 100644 --- a/src/main/java/cokr/xit/base/security/authentication/dao/PolicyMapper.java +++ b/src/main/java/cokr/xit/base/security/authentication/dao/PolicyMapper.java @@ -15,20 +15,15 @@ import cokr.xit.foundation.data.DataObject; */ @Mapper("policyMapper") public interface PolicyMapper extends AbstractMapper { - /**주어진 조건의 사용자 인증 정책 목록을 반환한다. - * @param by 조건 필드 이름 - *
          • userName - 사용자 이름
          • - *
          • 그 이외는 사용자 아이디
          • - *
          - * @param term 조건 필드값 - * @param pageNum 페이지 이름 - * @param fetchSize 한 번에 가져올 인증 정책 갯수 + /**주어진 조건의 사용자 인증 정책 목록을 반환한다.
          + * {@link cokr.xit.base.security.authentication.service.AuthenticationService#getPolicyList(QueryRequest)} 참고 + * @param req 사용자 인증 정책 조회 조건 * @return 사용자 인증 정책 목록 */ List getPolicyList(QueryRequest req); /**지정한 사용자들의 인증 정책 목록을 가져온다. - * @param userIDs 사용자 아이디 + * @param params 파라미터 * @return 인증 정책 목록 */ List getPolicies(Map params); @@ -78,11 +73,8 @@ public interface PolicyMapper extends AbstractMapper { } /**인증 정책을 수정한다. - * @param policy 인증 정책 - * @return 수정 여부 - *
          • 수정 되었으면 true
          • - *
          • 그렇지 않으면 false
          • - *
          + * @param params 파라미터 + * @return 저장된 정보수 */ int updatePolicy(Map params); @@ -103,7 +95,7 @@ public interface PolicyMapper extends AbstractMapper { } /**지정한 사용자의 인증 정책을 제거한다. - * @param userIDs 사용자 아이디 + * @param params 파라미터 * @return 저장된 정보수 */ int removePolicy(Map params); diff --git a/src/main/java/cokr/xit/base/security/authentication/service/AuthenticationService.java b/src/main/java/cokr/xit/base/security/authentication/service/AuthenticationService.java index 655ac99..30b17e4 100644 --- a/src/main/java/cokr/xit/base/security/authentication/service/AuthenticationService.java +++ b/src/main/java/cokr/xit/base/security/authentication/service/AuthenticationService.java @@ -12,7 +12,7 @@ import cokr.xit.foundation.data.DataObject; /**사용자 인증 서비스를 제공한다. *
          • 사용자 로그인 및 로그아웃 관련 핸들러 메소드
          • - *
          • {@link #getPolicyList(String, String, int, int) 사용자 인증 정책 조회}
          • + *
          • {@link #getPolicyList(QueryRequest) 사용자 인증 정책 조회}
          • *
          • {@link #create(AuthenticationPolicy) 사용자 인증 정책 등록}
          • *
          • {@link #update(AuthenticationPolicy) 사용자 인증 정책 수정}
          • *
          • {@link #removePolicies(String...) 사용자 인증 정책 제거}
          • @@ -36,13 +36,16 @@ public interface AuthenticationService extends UserDetailsService { void onLogout(Authentication authentication); /**주어진 조건의 사용자 인증 정책 목록을 반환한다. - * @param by 조건 필드 이름 - *
            • userName - 사용자 이름
            • - *
            • 그 이외는 사용자 아이디
            • + * @param req 사용자 인증 정책 조회 조건 + *
              • by: 조건 필드 이름 + *
                • userName - 사용자 이름
                • + *
                • 그 외는 사용자 아이디
                • + *
                + *
              • + *
              • term: 조건 필드값
              • + *
              • pageNum: 페이지 번호
              • + *
              • fetchSize: 페이지 목록 건수
              • *
              - * @param term 조건 필드값 - * @param pageNum 페이지 이름 - * @param fetchSize 한 번에 가져올 인증 정책 갯수 * @return 사용자 인증 정책 목록 */ List getPolicyList(QueryRequest req); diff --git a/src/main/java/cokr/xit/base/security/authentication/service/bean/AuthenticationBean.java b/src/main/java/cokr/xit/base/security/authentication/service/bean/AuthenticationBean.java index ae66fc5..8acd7a1 100644 --- a/src/main/java/cokr/xit/base/security/authentication/service/bean/AuthenticationBean.java +++ b/src/main/java/cokr/xit/base/security/authentication/service/bean/AuthenticationBean.java @@ -17,7 +17,7 @@ import cokr.xit.foundation.User; import cokr.xit.foundation.component.QueryRequest; import cokr.xit.foundation.data.DataObject; -/**사용자 인증 정보 DAO +/**사용자 인증 정보 Bean * @author mjkhan */ @Component("authenticationBean") @@ -74,14 +74,9 @@ public class AuthenticationBean extends AbstractComponent { return 0; } - /**주어진 조건의 사용자 인증 정책 목록을 반환한다. - * @param by 조건 필드 이름 - *
              • userName - 사용자 이름
              • - *
              • 그 이외는 사용자 아이디
              • - *
              - * @param term 조건 필드값 - * @param pageNum 페이지 이름 - * @param fetchSize 한 번에 가져올 인증 정책 갯수 + /**주어진 조건의 사용자 인증 정책 목록을 반환한다.
              + * {@link cokr.xit.base.security.authentication.service.AuthenticationService#getPolicyList(QueryRequest)} 참고 + * @param req 사용자 인증 정책 조회 조건 * @return 사용자 인증 정책 목록 */ public List getPolicyList(QueryRequest req) { diff --git a/src/main/java/cokr/xit/base/security/authentication/web/PolicyController.java b/src/main/java/cokr/xit/base/security/authentication/web/PolicyController.java index aa089ca..730ca4c 100644 --- a/src/main/java/cokr/xit/base/security/authentication/web/PolicyController.java +++ b/src/main/java/cokr/xit/base/security/authentication/web/PolicyController.java @@ -28,13 +28,9 @@ public class PolicyController extends AbstractCo return authenticationService; } - /**주어진 조건의 사용자 인증 정책 목록을 반환한다. - * @param by 조건 필드 이름 - *
              • userName - 사용자 이름
              • - *
              • 그 이외는 사용자 아이디
              • - *
              - * @param term 조건 필드값 - * @param pageNum 페이지 이름 + /**주어진 조건의 사용자 인증 정책 목록을 반환한다.
              + * {@link AuthenticationService#getPolicyList(QueryRequest)} 참고 + * @param req 사용자 인증 정책 조회 조건 * @return jsonView *
              {
               	 *     "policyList": 정책 목록,
              @@ -56,7 +52,7 @@ public class PolicyController extends AbstractCo
               	 * @param policy 인증 정책
               	 * @return jsonView
               	 * 
              {
              -	 *     "saved": true || false
              +	 *     "saved": 등록됐으면 true, 그렇지 않으면 false
               	 * }
              */ @PostMapping(name="인증 정책 등록", value="/created.do") @@ -69,7 +65,7 @@ public class PolicyController extends AbstractCo * @param policy 인증 정책 * @return jsonView *
              {
              -	 *     "saved": true || false
              +	 *     "saved": 수정됐으면 true, 그렇지 않으면 false
               	 * }
              */ @PostMapping(name="인증 정책 수정", value="/update.do") @@ -83,7 +79,7 @@ public class PolicyController extends AbstractCo * @return jsonView *
              {
               	 *     "affected": 저장된 정보수,
              -	 *     "saved": true || false
              +	 *     "saved": 저장됐으면 true, 그렇지 않으면 false
               	 * }
              */ @PostMapping(name="인증 정책 제거", value="/remove.do")