Skip to content

boot 3.0, security 6.0 security config dsl 적용(kotlin)

Notifications You must be signed in to change notification settings

ksjkk/security-dsl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

security-dsl

boot 3.0, security 6.0 security config dsl 적용(kotlin)


boot 3.0 부터, 정확히는 Security 5.8 부터 HttpSecurityDsl 을 통해 Dsl 로 구성할 수 있다.
(boot 2.latest 는 security 5.7 버전이라서 지원하지 않는다)


..
// 요게 포인트! 없으면 http dsl 이 적용안됨, Unresolved reference.
import org.springframework.security.config.annotation.web.invoke
import org.springframework.security.web.SecurityFilterChain
import org.springframework.security.web.authentication.www.BasicAuthenticationFilter

@Configuration
@EnableWebSecurity
class SecurityConfig {

    @Order(Ordered.HIGHEST_PRECEDENCE)
    @Configuration
    class BasicSecurity {

        @Bean
        fun basicFilterChain(http: HttpSecurity): SecurityFilterChain {
            http {
                csrf {
                    disable()
                }
                addFilterAfter<BasicAuthenticationFilter>(SimpleApiFilter(BASIC_API_PATH))
                authorizeRequests {
                    authorize(BASIC_API_PATH, hasAnyAuthority(getMoreLevelAuthorities(minAuthority = USER)))
                }
                authorizeRequests {
                    authorize("/**", permitAll)
                }
                httpBasic {  }
            }
            return http.build()
        }
    }
}

About

boot 3.0, security 6.0 security config dsl 적용(kotlin)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages