gwooden_코린이

스프링 부트 시큐리티 + H2-CONSOLE 본문

스프링 부트

스프링 부트 시큐리티 + H2-CONSOLE

gwooden22 2023. 2. 15. 16:20
728x90

 

유저네임 : user <-디폴트

패스워드 : 콘솔로그창에 자동으로 생성됨

 


package com.example.sb;

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.web.SecurityFilterChain;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;

@Configuration //환경설정에 관련된 클래스 어노테이션
@EnableWebSecurity
public class SecurityConfig {
	
	@Bean
	SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
		//권한에 관련된 부분
		http.authorizeHttpRequests().requestMatchers(new AntPathRequestMatcher("/**")).permitAll();
		
		return http.build();
	}

}

 

new AntPathRequestMatcher("/**") : 어떤 형태로 접근하든 모든 페이지에 접속할 수 있게 해주는 Path

permitAll() : 승인을 해주는 역할

 

.and()
	.csrf() //토큰이 일치하는지
	.ignoringRequestMatchers(new AntPathRequestMatcher("/h2-console/**")); //해당 경로는 모두 토큰이 일치하지 않아도 접근 허용하게

		.and()
			.headers()
			.addHeaderWriter(new XFrameOptionsHeaderWriter(
					XFrameOptionsHeaderWriter
					.XFrameOptionsMode.SAMEORIGIN));

H2는 프레임으로 나뉘어져 있어서 그걸 해결하는 코드

728x90
Comments