코틀린 시큐리티 컨피그 설정방법 참고하세요
696
작성한 질문수 12
코틀린에서 이번강의 설정할땐
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.security.config.annotation.web.builders.HttpSecurity
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer
import org.springframework.security.web.SecurityFilterChain
@Configuration
@EnableWebSecurity
class SecurityConfig {
@Bean
fun filterChain(http:HttpSecurity):SecurityFilterChain{
http.csrf(CsrfConfigurer<HttpSecurity>::disable)
http.authorizeHttpRequests{
it.requestMatchers("/user/**").authenticated()
it.requestMatchers("/manager/**").hasAnyRole("MANAGER","ADMIN")
it.requestMatchers("/admin/**").hasRole("ADMIN")
it.anyRequest().permitAll()
}
http.formLogin{
it.loginPage("/login")
it.permitAll()
}
return http.build()
}
}
이런식으로 하시면됩니다
WebSecurityConfigurerAdapter는 사라졌고 대신 빈을 생성해서 등록하는식으로 바뀐거같고
기본적으로 직렬로 메서드체이닝하던게 다 람다식으로 빠졌고(자기자신을 설정하는건 다 내부람다식으로 동작하게 바뀐듯)
authorizeRequests->authorizeHttpRequests
antMatcher->requestMatchers
and().formLogin()->http.formLogin{...}
이렇게 이름이 변경된친구들도 있습니다
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
qwerty jon님, 코틀린을 사용하여 스프링 시큐리티 설정 방법에 대해 질문해주셨네요.
코틀린에서 스프링부트의 시큐리티 설정은 WebSecurityConfigurerAdapter 대신 SecurityFilterChain 빈을 정의하는 방식으로 대체되는 추세입니다. 여러분이 제공해주신 예시는 코틀린의 DSL(Domain-Specific Language)을 사용한 스프링 시큐리티 설정 방식으로, 기존의 자바 설정 방식과 비교하여 좀 더 간결하고 명확하게 표현될 수 있습니다.
스프링부트 레퍼런스 문서에 따르면, 이런 변화의 일환으로 몇 가지 메서드 이름 변경도 있었습니다. 예를 들어, authorizeRequests는 authorizeHttpRequests로, antMatcher는 requestMatchers로 변경되었습니다. 또한 ‘and().formLogin’은 http.formLogin{...}로 바뀌었습니다.
스프링부트가 제공하는 보다 구체적인 예시를 참고하시려면 Spring Boot Reference Documentation에 있는 코드를 확인해보시면 도움이 됩니다. 해당 문서에서는 코틀린과 자바 양쪽 모두의 예시를 제공하고 있어, 코틀린으로 스프링 시큐리티 설정을 구현할 때 유용한 참고 자료가 될 것입니다.
모든 웹 애플리케이션의 보안 설정이 필요한 경우 위의 설정을 참고하여 사용자 정의 SecurityFilterChain을 정의하시면 될 것 같습니다. 추가로 구체적인 설정 방법이나 보안 관련 다른 질문이 있으시면 언제든 문의해주세요.
JWT를 구현한 다음 이 API를 호출해서 사용하는 것은 프론트엔드 쪽에서 하는 역할인가요?
0
98
1
Jwt쓰면 스프링시큐리티는 필수적으로 사용해야하나요?
0
401
1
13:23 system.out 출력문이 다르게 나옵니다.
0
130
1
수료증 문의
0
227
2
9분대에 질문이 있습니다 !
0
115
1
password 비교를 하지 않았는데 어떻게 인증이 통과된 건가요?
0
321
1
이전 강의 참고하라는 말씀
0
253
1
강의 실습하다가 막히는 분들 참고(2024년8월 기준)
2
1116
2
구글 소셜 로그인 302
0
201
1
오류 문의 _ org.springframework.orm.jpa.JpaSystemException: could not deserialize
1
584
1
[자바] 시큐리티 Config 참고
13
953
1
이론강의
0
280
1
SpringSecurity JWT 로그인 URL 2개 설정하는 방법
0
488
1
2024.06기준) 최근 SecurityConfig 설정 문의
0
922
3
구글 로그인시 authentication이 null 값이라고 에러가 발생합니다.
0
678
2
특정 url필터 거는 방법 이슈
0
422
1
강사님께서 말씀하시는 시큐리티세션이 SecurityContext인가요?
0
279
1
25강 마지막 테스트에서 오류
1
1044
2
jwt를 저장하는 위치에 궁금한 점이 있습니다.
0
298
1
mustache를 사용하지 않고 thymeleaf를 사용하려고 하는데
0
697
1
세션 인증방식이 REST 원칙에 위배되는 건가요?
0
342
1
jwt와 실제데이터의 관계
1
245
1
jwt 와 세션ID의 관계
1
313
1
SecurityConfig에서 세션 설정, 인가 설정
0
422
1





