Spring Boot 이미지 html에 출력하기

김아무개·2023년 5월 26일
0

Spring Boot 🍃

목록 보기
20/95

1. 이미지 저장 위치 확인

배운 곳 1

우선 Spring Boot 를 사용하는 프로젝트에서

이미지 같은 정적 파일들은 다음의 경로에 저장해서 관리되어야 한다.

/src/main/resources/static

그리고 정적 파일을 서버 구동 중에 추가 했다면,

바로 정적 파일에 접근할 수 없다.

서버 구동 중 추가된 정적 파일에 접근하기 위해서는

서버 종료 후 재실행 해야 한다.


서버 종료 후 재실행 하지 않고 접근해서 사용하기 위한 방법이 있다고 하는데,

나는 아직 해당 방법들로 성공하지 못했다. 🤨

방법들 : koonsland.tistory

이 부분은 링크만 모아둔 다음에

테스트에 성공하면 정리해야지!


2. Spring Security 적용시 Config에 Ignoring 추가

배운곳 2

스프링 시큐리티를 사용하는 프로젝트라면,
이미지와 같은 정적파일들에 Ignoring 을 걸어주어야 한다.

스프링 시큐리티는 모든 요청에 대한 권한을 검사한다.

이 때, 이미지 파일 같은 정적 파일들에 대해서도 권한을 검사한다면

엄청난 자원의 낭비가 일어날 수 있다.


그렇기 때문에,

이미지 파일같은 권한 검사가 필요 없는 리소스에 대해서는

권한검사를 하지않는다는 설정을 해주는것이 좋다.


Spring Security 설정 파일 예시 1

특정 정적 리소스들/favicon.ico, /files/** 에 대해 권한 검사 미 실시

@EnableWebSecurity
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/favicon.ico", "/files/**");
        
        super.configure(web);
    }

}

Spring Security 설정 파일 예시 2

모든 정적 리소스들 /resource/static/*에 대해 권한 검사 미 실시

@EnableWebSecurity
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
    	web.ignoring()
    		.requestMatchers(
            		PathRequest
                    	.toStaticResources()
                        .atCommonLocations()
            );
        
        super.configure(web);
    }

}
profile
Hello velog! 

0개의 댓글