본문 바로가기
프로그래밍/스프링프레임워크

스프링시큐리티에서 CSRF만 사용하기

by pentode 2018. 11. 19.

전자정부표준프레임워크 또는 스프링프레임워크에서 인증은 별도로 구현하고, 스프링시큐리티의 CSRF 기능만 사용하도록 설정하는 방법을 알아봅니다.


테스트는 전자정부표준프레임워크 엔트프라이즈 포털 템플릿에서 했습니다. 스프링 시큐리티 설정파일은 contenxt-security.xml 파일 입니다. 다음과 같이 설정합니다. 기존의 스프링 시큐리티 간소화 설정은 모두 삭제 합니다. 가장 기본적인 설정만 합니다.


<security:authentication-manager />

<security:http create-session="never" use-expressions="true">

    <security:csrf />

    <security:http-basic />

</security:http>


이제 <form:form> 태그를 사용하면 CSRF 토큰이 자동으로 삽입되는 것을 확인 할 수 있습니다.


단순 <form> 태그를 사용하여 토큰을 삽입하지 않고 로그인을 요청해보면 HTTP 4703 오류가 나는것을 확인할 수 있습니다.


CSRF 실패 화면



전자정보표준프레임워크 템플릿의 경우에는 스프링시큐리티 인증이 기본으로 되어 있으므로 스크링시큐리티를 걷어내려면 자바코드와 jsp 코드내의 스프링시큐리티 관리 객체 또는 태그등을 모두 수동으로 변환해야합니다.

반응형