• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

스프링 시큐리티 최신버전 코드 있을까요?

23.12.01 10:52 작성 조회수 1.01k

0

제일 최근에 질문한 글 참고해도 적용이 안되네요...

혹시 현재 버전에서 적용 가능한 코드가 있을까요?

아니면 참고할 수 있는 자료라도 있을까요?

 

https://start.spring.io/ 에서 gradle로 생성해서 사용중입니다. 스프링 3.2버전 사용하고있어요.

답변 5

·

답변을 작성해보세요.

0

안녕하세요, 이도원입니다.

강좌에서 사용된 샘플 코드를 최신 버전으로 업데이트 하였습니다.

아래 github 에서 확인해 보실 수 있습니다.

https://github.com/joneconsulting/toy-msa

감사합니다.

0

흑후추님의 프로필

흑후추

질문자

2024.01.05

섹션 4. Users Microservice ➀ Spring Security 코드 입니다.

@Configuration
@EnableWebSecurity
public class WebSecurity {
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.csrf(csrf->csrf.disable());
        http.authorizeHttpRequests(request->{
            request.requestMatchers(antMatcher("/users/**")).permitAll();
            request.requestMatchers(antMatcher("/h2-console/**")).permitAll();
        });
        http.headers(headers->headers.frameOptions(frameOptions->frameOptions.disable()));
        return http.build();
    }
}

0

흑후추님의 프로필

흑후추

질문자

2023.12.08

https://www.inflearn.com/questions/1020758/springboot-3%EC%A0%90%EB%8C%80-%EB%B2%84%EC%A0%84-spring-security-%EC%84%A4%EC%A0%95

여기 코드 참고해서 작성했습니다.

섹션6 기준으로 나머지 코드는 변수명 정도만 수정했고, WebSecurity코드는 이렇게 바꿔서 사용했어요.

@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
public class WebSecurity {

    private final UserService userService;
    private final Environment environment;
    private final AuthenticationConfiguration authenticationConfiguration;
    private final AuthenticationManager authenticationManager;

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.csrf(AbstractHttpConfigurer::disable)
                .authorizeHttpRequests(request ->{
                    request.requestMatchers(antMatcher("/**")).permitAll();
                })
                .addFilter(getAuthenticationFilter(authenticationConfiguration));
        http.headers().frameOptions().disable(); //H2 Console 설정

        return http.build();
    }

    private AuthenticationFilter getAuthenticationFilter(AuthenticationConfiguration authenticationConfiguration) throws Exception {
        AuthenticationFilter authenticationFilter = new AuthenticationFilter(authenticationManager, userService, environment);
        return authenticationFilter;
    }

}

0

정호연님의 프로필

정호연

2023.12.05

이게 답변이 될 수 있을지 모르겠는데요.. 저도 공부하면서 뭔가 틀려서 여러 삽질을 통해서 코드 변경해가면서 하고 있어서


@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
public class WebSecurity {

    private final UserService userService;
    private final BCryptPasswordEncoder bCryptPasswordEncoder;
    private final Environment env;
    private final AuthenticationConfiguration authenticationConfiguration;

    @Bean
    public WebSecurityCustomizer webSecurityCustomizer() {
        return (web) -> web.ignoring().requestMatchers(PathRequest.toStaticResources().atCommonLocations());
    }

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.csrf().disable()
                .authorizeRequests()
                .antMatchers("/actuator/**").permitAll();

        http.csrf().disable()
                .authorizeRequests().antMatchers("/**")
                .hasIpAddress("192.168.0.7")
                .and()
                .addFilter(getAuthenticationFilter(authenticationConfiguration))
                .headers().frameOptions().disable();
        return http.build();
    }

    private AuthenticationFilter getAuthenticationFilter(AuthenticationConfiguration authenticationConfiguration) throws Exception {
        AuthenticationFilter authenticationFilter = new AuthenticationFilter(authenticationManager(authenticationConfiguration), userService, env);
        return authenticationFilter;
    }

    @Bean
    AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
        return authenticationConfiguration.getAuthenticationManager();
    }


}
흑후추님의 프로필

흑후추

질문자

2023.12.06

혹시 스프링이랑 시큐리티 버전이 어떻게되나요?

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.03

안녕하세요, 인프런 AI 인턴입니다.

스프링 시큐리티를 사용하는 데 문제가 있으시군요.
스프링 부트 참조 문서의 “18. “How-to” Guides > 18.14. Security” 섹션을 참고하시면 현재 버전의 스프링 부트에 적용 가능한 스프링 시큐리티 관련 정보를 얻으실 수 있습니다.

자세한 내용과 가이드는 스프링 시큐리티 프로젝트 페이지에서 확인하실 수 있습니다.

또한, 스프링 부트에 관련된 다양한 상황의 질문과 답변이 필요하다면 Stack Overflow의 spring-boot 태그가 붙은 글을 참조하시거나, 새 질문을 하실 수도 있습니다.

현재 문서는 스프링 부트 3.1.5 버전을 기준으로 하고 있지만, 스프링 부트 3.2 버전에서도 동일하게 적용될 수 있는 내용이 많으니 참고하시면 도움이 될 것입니다.

참고 문서 URL: Spring Boot Reference Documentation - Security

오류가 지속되거나 구체적인 코드를 찾기 어려우시면, 추가적으로 문의 주시면 답변 드리도록 하겠습니다. 흑후추님, 문제 해결을 위한 참고 자료가 도움이 되길 바랍니다.