From e56ce8baad22fc480cc2b6fd1eedb3f1ea0e870c Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Tue, 8 Oct 2024 00:29:42 +0900 Subject: [PATCH 1/7] =?UTF-8?q?feat:=20=EC=9A=B4=EC=98=81=EC=A7=80?= =?UTF-8?q?=EC=9B=90=ED=8C=80=20role=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/cotato/csquiz/domain/auth/enums/MemberRole.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRole.java b/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRole.java index f7da7193..61614bcf 100644 --- a/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRole.java +++ b/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRole.java @@ -13,7 +13,8 @@ public enum MemberRole { MEMBER("ROLE_MEMBER"), OLD_MEMBER("ROLE_OM"), ADMIN("ROLE_ADMIN"), - EDUCATION("ROLE_EDUCATION"); + EDUCATION("ROLE_EDUCATION"), + SUPPORT("ROLE_SUPPORT"); private final String key; From 63285d8864080613af6f7cef1bfc7c7b0b463e29 Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Tue, 8 Oct 2024 00:50:01 +0900 Subject: [PATCH 2/7] =?UTF-8?q?refactor:=20=EC=9A=B4=EC=98=81=EC=A7=80?= =?UTF-8?q?=EC=9B=90=ED=8C=80=20=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/cotato/csquiz/domain/auth/enums/MemberRole.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRole.java b/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRole.java index 61614bcf..885503fd 100644 --- a/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRole.java +++ b/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRole.java @@ -14,7 +14,7 @@ public enum MemberRole { OLD_MEMBER("ROLE_OM"), ADMIN("ROLE_ADMIN"), EDUCATION("ROLE_EDUCATION"), - SUPPORT("ROLE_SUPPORT"); + OPERATION("ROLE_OPERATION"); private final String key; From f07067980f63510089fbfc5169eeec7a74d5593a Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Tue, 8 Oct 2024 00:52:56 +0900 Subject: [PATCH 3/7] =?UTF-8?q?fix:=20api=20path=20=EC=98=A4=ED=83=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/cotato/csquiz/common/config/SecurityConfig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java b/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java index ec5adf0a..b1a80b2f 100644 --- a/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java +++ b/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java @@ -88,8 +88,8 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .requestMatchers("/v1/api/session/cs-on").hasAnyRole("EDUCATION", "ADMIN") .requestMatchers(new AntPathRequestMatcher("/v1/api/session", "GET")).authenticated() .requestMatchers("/v1/api/session/**").hasAnyRole("ADMIN") - .requestMatchers("/v2/api/attendance/records").hasAnyRole("ADMIN") - .requestMatchers("/v2/api/attendance").hasAnyRole("ADMIN") + .requestMatchers("/v2/api/attendances/records").hasAnyRole("ADMIN") + .requestMatchers("/v2/api/attendances").hasAnyRole("ADMIN") .requestMatchers(new AntPathRequestMatcher("/v1/api/socket/token", "POST")) .hasAnyRole("MEMBER", "EDUCATION", "ADMIN") // .requestMatchers("/v2/api/events/attendances").hasAnyRole("MEMBER", "ADMIN", "EDUCATION") From 7a75c36d50d632b9f700d8d29e2de0418eac75fa Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Wed, 9 Oct 2024 14:51:49 +0900 Subject: [PATCH 4/7] =?UTF-8?q?feat:=20=EC=B6=9C=EC=84=9D=EC=AA=BD=20api?= =?UTF-8?q?=20path=EC=97=90=20member=20role=EB=B3=84=20=EA=B6=8C=ED=95=9C?= =?UTF-8?q?=20=EB=B6=80=EC=97=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/cotato/csquiz/common/config/SecurityConfig.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java b/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java index b1a80b2f..e70d76b6 100644 --- a/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java +++ b/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java @@ -88,8 +88,11 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .requestMatchers("/v1/api/session/cs-on").hasAnyRole("EDUCATION", "ADMIN") .requestMatchers(new AntPathRequestMatcher("/v1/api/session", "GET")).authenticated() .requestMatchers("/v1/api/session/**").hasAnyRole("ADMIN") - .requestMatchers("/v2/api/attendances/records").hasAnyRole("ADMIN") - .requestMatchers("/v2/api/attendances").hasAnyRole("ADMIN") + .requestMatchers("/v2/api/attendances/records").hasAnyRole("ADMIN", "OPERATION") + .requestMatchers("/v2/api/attendances/{attendance-id}/records").hasAnyRole("ADMIN", "OPERATION") + .requestMatchers("/v2/api/attendances").hasAnyRole("ADMIN", "OPERATION") + .requestMatchers("/v2/api/attendances/info").hasAnyRole("ADMIN","OPERATION","EDUCATION","MEMBER") + .requestMatchers("/v2/api/attendances/records/**").hasAnyRole("ADMIN","OPERATION","EDUCATION","MEMBER") .requestMatchers(new AntPathRequestMatcher("/v1/api/socket/token", "POST")) .hasAnyRole("MEMBER", "EDUCATION", "ADMIN") // .requestMatchers("/v2/api/events/attendances").hasAnyRole("MEMBER", "ADMIN", "EDUCATION") From 95b7f40295c7479a54f51aa383b20a7493e05d20 Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Wed, 9 Oct 2024 14:54:40 +0900 Subject: [PATCH 5/7] =?UTF-8?q?feat:=20=EA=B8=B0=EC=A1=B4=20api=20path?= =?UTF-8?q?=EC=97=90=20=EC=9A=B4=EC=98=81=EC=A7=80=EC=9B=90=ED=8C=80=20?= =?UTF-8?q?=EA=B6=8C=ED=95=9C=20=EB=B6=80=EC=97=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csquiz/common/config/SecurityConfig.java | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java b/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java index e70d76b6..b8082f62 100644 --- a/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java +++ b/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java @@ -70,31 +70,38 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .requestMatchers(CorsUtils::isPreFlightRequest).permitAll() .requestMatchers("/v1/api/admin/**").hasRole("ADMIN") .requestMatchers(WHITE_LIST).permitAll() - .requestMatchers("/v1/api/education/result/**").hasAnyRole("MEMBER", "EDUCATION", "ADMIN") - .requestMatchers("/v1/api/education/from").hasAnyRole("MEMBER", "EDUCATION", "ADMIN") - .requestMatchers(new AntPathRequestMatcher("/v1/api/education/winner", "GET")).hasAnyRole("MEMBER", "EDUCATION", "ADMIN") - .requestMatchers(new AntPathRequestMatcher("/v1/api/education/kings", "GET")).hasAnyRole("MEMBER", "EDUCATION", "ADMIN") + .requestMatchers("/v1/api/education/result/**") + .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") + .requestMatchers("/v1/api/education/from") + .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") + .requestMatchers(new AntPathRequestMatcher("/v1/api/education/winner", "GET")) + .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") + .requestMatchers(new AntPathRequestMatcher("/v1/api/education/kings", "GET")) + .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") .requestMatchers(new AntPathRequestMatcher("/v1/api/education/status", "GET")) - .hasAnyRole("MEMBER", "EDUCATION", "ADMIN") + .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") .requestMatchers(new AntPathRequestMatcher("/v1/api/education", "GET")).authenticated() .requestMatchers("/v1/api/education/**").hasAnyRole("EDUCATION", "ADMIN") .requestMatchers("/v1/api/generation/**").hasAnyRole("ADMIN") - .requestMatchers("/v1/api/mypage/**").hasAnyRole("MEMBER", "OLD_MEMBER", "EDUCATION", "ADMIN") + .requestMatchers("/v1/api/mypage/**") + .hasAnyRole("MEMBER", "OLD_MEMBER", "EDUCATION", "OPERATION", "ADMIN") .requestMatchers("/v1/api/quiz/cs-admin/**").hasAnyRole("EDUCATION", "ADMIN") .requestMatchers("/v1/api/quiz/adds").hasAnyRole("EDUCATION", "ADMIN") - .requestMatchers("/v1/api/quiz/**").hasAnyRole("MEMBER", "EDUCATION", "ADMIN") - .requestMatchers("/v1/api/record/reply").hasAnyRole("MEMBER", "EDUCATION", "ADMIN") + .requestMatchers("/v1/api/quiz/**").hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") + .requestMatchers("/v1/api/record/reply").hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") .requestMatchers("/v1/api/record/**").hasAnyRole("EDUCATION", "ADMIN") .requestMatchers("/v1/api/session/cs-on").hasAnyRole("EDUCATION", "ADMIN") .requestMatchers(new AntPathRequestMatcher("/v1/api/session", "GET")).authenticated() .requestMatchers("/v1/api/session/**").hasAnyRole("ADMIN") .requestMatchers("/v2/api/attendances/records").hasAnyRole("ADMIN", "OPERATION") - .requestMatchers("/v2/api/attendances/{attendance-id}/records").hasAnyRole("ADMIN", "OPERATION") + .requestMatchers("/v2/api/attendances/{attendance-id}/records").hasAnyRole("ADMIN") .requestMatchers("/v2/api/attendances").hasAnyRole("ADMIN", "OPERATION") - .requestMatchers("/v2/api/attendances/info").hasAnyRole("ADMIN","OPERATION","EDUCATION","MEMBER") - .requestMatchers("/v2/api/attendances/records/**").hasAnyRole("ADMIN","OPERATION","EDUCATION","MEMBER") + .requestMatchers("/v2/api/attendances/info") + .hasAnyRole("ADMIN", "OPERATION", "EDUCATION", "MEMBER") + .requestMatchers("/v2/api/attendances/records/**") + .hasAnyRole("ADMIN", "OPERATION", "EDUCATION", "MEMBER") .requestMatchers(new AntPathRequestMatcher("/v1/api/socket/token", "POST")) - .hasAnyRole("MEMBER", "EDUCATION", "ADMIN") + .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") // .requestMatchers("/v2/api/events/attendances").hasAnyRole("MEMBER", "ADMIN", "EDUCATION") .requestMatchers("/v1/api/socket/**").hasAnyRole("EDUCATION", "ADMIN") .requestMatchers(HttpMethod.POST, "/v2/api/projects").hasRole("ADMIN") From a7bad982ff6b105eae6410ac0583d61111cb1729 Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Wed, 9 Oct 2024 14:59:28 +0900 Subject: [PATCH 6/7] =?UTF-8?q?style:=20=EA=B6=8C=ED=95=9C=20=EC=88=9C?= =?UTF-8?q?=EC=84=9C=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/cotato/csquiz/common/config/SecurityConfig.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java b/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java index b8082f62..89bf9422 100644 --- a/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java +++ b/src/main/java/org/cotato/csquiz/common/config/SecurityConfig.java @@ -93,13 +93,13 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .requestMatchers("/v1/api/session/cs-on").hasAnyRole("EDUCATION", "ADMIN") .requestMatchers(new AntPathRequestMatcher("/v1/api/session", "GET")).authenticated() .requestMatchers("/v1/api/session/**").hasAnyRole("ADMIN") - .requestMatchers("/v2/api/attendances/records").hasAnyRole("ADMIN", "OPERATION") + .requestMatchers("/v2/api/attendances/records").hasAnyRole("OPERATION", "ADMIN") .requestMatchers("/v2/api/attendances/{attendance-id}/records").hasAnyRole("ADMIN") - .requestMatchers("/v2/api/attendances").hasAnyRole("ADMIN", "OPERATION") + .requestMatchers("/v2/api/attendances").hasAnyRole("OPERATION", "ADMIN") .requestMatchers("/v2/api/attendances/info") - .hasAnyRole("ADMIN", "OPERATION", "EDUCATION", "MEMBER") + .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") .requestMatchers("/v2/api/attendances/records/**") - .hasAnyRole("ADMIN", "OPERATION", "EDUCATION", "MEMBER") + .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") .requestMatchers(new AntPathRequestMatcher("/v1/api/socket/token", "POST")) .hasAnyRole("MEMBER", "EDUCATION", "OPERATION", "ADMIN") // .requestMatchers("/v2/api/events/attendances").hasAnyRole("MEMBER", "ADMIN", "EDUCATION") From 6be794ba7e2c9d170cf9893a937385d83a24ce74 Mon Sep 17 00:00:00 2001 From: yunhacandy Date: Fri, 11 Oct 2024 12:47:55 +0900 Subject: [PATCH 7/7] =?UTF-8?q?feat:=20MemberRoleGroup=EC=97=90=20?= =?UTF-8?q?=EC=9A=B4=EC=98=81=EC=A7=80=EC=9B=90=ED=8C=80=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/cotato/csquiz/domain/auth/enums/MemberRoleGroup.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRoleGroup.java b/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRoleGroup.java index e74b48cd..3bfc8873 100644 --- a/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRoleGroup.java +++ b/src/main/java/org/cotato/csquiz/domain/auth/enums/MemberRoleGroup.java @@ -8,8 +8,8 @@ @AllArgsConstructor public enum MemberRoleGroup { - ACTIVE_MEMBERS("현재 활동 중인 멤버", List.of(MemberRole.MEMBER, MemberRole.ADMIN, MemberRole.EDUCATION)), - CLIENTS("교육 중 문제 풀이가 가능한 멤버", List.of(MemberRole.MEMBER, MemberRole.ADMIN)), + ACTIVE_MEMBERS("현재 활동 중인 멤버", List.of(MemberRole.MEMBER, MemberRole.ADMIN, MemberRole.EDUCATION, MemberRole.OPERATION)), + CLIENTS("교육 중 문제 풀이가 가능한 멤버", List.of(MemberRole.MEMBER, MemberRole.ADMIN, MemberRole.OPERATION)), MANAGERS("교육 진행 관리자", List.of(MemberRole.EDUCATION, MemberRole.ADMIN)); private final String description;