From 18fe7b9fc21e3fb2d74d7ef5df77be17cb8843ce Mon Sep 17 00:00:00 2001 From: banjjoknim Date: Fri, 25 Mar 2022 02:36:11 +0900 Subject: [PATCH] =?UTF-8?q?refactor=20:=20=ED=8C=8C=EC=9D=BC=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=EB=B3=80=EA=B2=BD=20=EB=B0=8F=20@EnableGlobalMetho?= =?UTF-8?q?dSecurity=20=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=A3=BC=EC=84=9D?= =?UTF-8?q?=20=EC=9D=BC=EB=B6=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...curityConfiguration.kt => DaoOAuthSecurityConfiguration.kt} | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) rename 놀이터(예제 코드 작성)/spring-security/src/main/kotlin/com/banjjoknim/playground/config/security/{SecurityConfiguration.kt => DaoOAuthSecurityConfiguration.kt} (94%) diff --git a/놀이터(예제 코드 작성)/spring-security/src/main/kotlin/com/banjjoknim/playground/config/security/SecurityConfiguration.kt b/놀이터(예제 코드 작성)/spring-security/src/main/kotlin/com/banjjoknim/playground/config/security/DaoOAuthSecurityConfiguration.kt similarity index 94% rename from 놀이터(예제 코드 작성)/spring-security/src/main/kotlin/com/banjjoknim/playground/config/security/SecurityConfiguration.kt rename to 놀이터(예제 코드 작성)/spring-security/src/main/kotlin/com/banjjoknim/playground/config/security/DaoOAuthSecurityConfiguration.kt index 07adeb3..7178973 100644 --- a/놀이터(예제 코드 작성)/spring-security/src/main/kotlin/com/banjjoknim/playground/config/security/SecurityConfiguration.kt +++ b/놀이터(예제 코드 작성)/spring-security/src/main/kotlin/com/banjjoknim/playground/config/security/DaoOAuthSecurityConfiguration.kt @@ -41,9 +41,18 @@ import org.springframework.stereotype.Service * * OAuth2는 여러가지 방식이 있다. Authorization Code Grant Type 방식 등등.. * + * `@EnableGlobalMethodSecurity` 어노테이션을 사용하면 스프링 시큐리티 관련 특정 어노테이션에 대한 활성화 설정을 할 수 있다. + * [spring-security-method-security](https://www.baeldung.com/spring-security-method-security) 참고. + * * @see org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties * @see org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientPropertiesRegistrationAdapter * @see org.springframework.security.config.oauth2.client.CommonOAuth2Provider + * @see org.springframework.security.access.prepost.PreAuthorize + * @see org.springframework.security.access.prepost.PostAuthorize + * @see org.springframework.security.access.prepost.PreFilter + * @see org.springframework.security.access.prepost.PostFilter + * @see org.springframework.security.access.annotation.Secured + * @see javax.annotation.security.RolesAllowed */ @EnableWebSecurity // 스프링 시큐리티 필터가 스프링 필터체인에 등록되도록 해준다. @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) // 스프링 시큐리티 관련 특정 어노테이션에 대한 활성화 설정을 할 수 있다. @@ -147,7 +156,7 @@ class PrincipalDetails( } // 해당 User 의 권한을 반환하는 함수 - override fun getAuthorities(): Collection { + override fun getAuthorities(): Collection { return listOf(GrantedAuthority { user.role }) }