Today
-
Yesterday
-
Total
-
  • Spring Boot 이미지 html에 출력하기
    Spring Boot 🍃 2023. 12. 3. 00:01

    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);
        }
    
    }

    'Spring Boot 🍃' 카테고리의 다른 글

    Spring Boot MariaDB 연결  (0) 2023.12.03
    Spring boot MultipartFile 확장자 알아내기  (0) 2023.12.03
    Thymeleaf  (0) 2023.12.03
    MyBatis  (0) 2023.12.03
    application.yml 파일에 속성 파일 추가  (0) 2023.12.03

Designed by Tistory / Custom by 얼거스