ERROR!!!!!!!

스프링 시큐리티 한글 설정(Java config)

voider 2020. 9. 11. 22:31

스프링 시큐리티 한글 설정

게시판에 스프링 시큐리티를 접목하여 로그인한 사용자만 게시물을 등록할 수 있게 했다.
그런데 갑자기 한글 인코딩이 되지 않는 문제가 발생했다.

https://stackoverflow.com/questions/20863489/characterencodingfilter-dont-work-together-with-spring-security-3-2-0

이 답변에 따르면,
"We need to add CharacterEncodingFilter before filters who read request properties for the first time. There is securityFilterChain (stands second. after metrica filter) and we can add our filter inside it. The first filter (inside security chain) who reads properties is CsrfFilter, so we place CharacterEncodingFilter before it."

...------------> 🛠️ Google Translate.....-------------->

"처음으로 요청 속성을 읽는 필터 앞에 CharacterEncodingFilter를 추가해야합니다. securityFilterChain (metrica 필터 뒤에 두 번째 의미)이 있으며 그 안에 필터를 추가 할 수 있습니다. 속성을 읽는 첫 번째 필터 (보안 체인 내부)는 CsrfFilter이므로 그 앞에 CharacterEncodingFilter를 배치합니다."

시큐리티 설정이 들어간 클래스 파일에

     @Override
    protected void configure(HttpSecurity http) throws Exception {
        ...
        ...생략

        CharacterEncodingFilter filter = new CharacterEncodingFilter();
        filter.setEncoding("UTF-8");
        filter.setForceEncoding(true);
        http.addFilterBefore(filter,CsrfFilter.class);
    }

이 부분을 추가해주었더니 해결되었다.