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

프로그래밍/스프링프레임워크 2018. 11. 19. 23:21
반응형

전자정부표준프레임워크 또는 스프링프레임워크에서 인증은 별도로 구현하고, 스프링시큐리티의 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 코드내의 스프링시큐리티 관리 객체 또는 태그등을 모두 수동으로 변환해야합니다.

반응형

댓글을 달아 주세요