-
[Spring Boot Security 6.1] /h2-console/** 허용해도 차단되는 경우개발 2023. 8. 18. 15:49728x90
- 문제
: 시큐리티 6.1으로 업데이트 후 설정코드에서 많이 바뀌어 여러문제가 발생
위와 같이 평소대로 허용을 했으나 시큐리티의 의해 차단되었다.
해결을 위해 이리저리 검색도 해보고 여러가지 해보았지만 해결은 되지 않던 와중
발견된 해결방법
어떤 블로그의 의하면
빈의 파라미터에 HandlerMappingIntrospector를 추가하고 MvcRequestMatcher 객체를 생성하여 허용 목록에 추가한다.
애플리케이션 설정에서 H2 콘솔을 활성화하면 자동으로 H2 콘솔이 서블릿으로 등록되는데, 서블릿 경로를 requestMatchers()에 추가하기 위해선 MvcRequestMatcher를 사용해야 한다는 것 같다.MvcRequestMatcher을 써야한다는 한번 찾아 써보려했으나 위와 같이 해결법이 보여 해결 완료
전체코드
@Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests((authorize) -> authorize .requestMatchers("/").permitAll() .requestMatchers(new AntPathRequestMatcher("/h2-console/**")).permitAll() .requestMatchers("/content/**").permitAll() .anyRequest().authenticated() ) .csrf((csrf) -> csrf .ignoringRequestMatchers(new AntPathRequestMatcher("/h2-console/**"))) .headers((headers) -> headers .frameOptions((frameOptions) -> frameOptions.sameOrigin()) ); return http.build(); }
'개발' 카테고리의 다른 글
자동으로 포트 죽이기[intelliJ활용] (0) 2024.01.16 [오류기록] (추가내용) Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl (1) 2023.12.13 [그누보드5]게시판에서 다크모드 사용하기(view.skin.php) (0) 2023.04.14 [오류해결] Uncaught ReferenceError: require is not defined at renderer.js (0) 2023.03.31 asp:Content 템플릿 역활 (0) 2023.03.27