본문 바로가기

CSRF3

스프링시큐리티에서 CSRF만 사용하기 전자정부표준프레임워크 또는 스프링프레임워크에서 인증은 별도로 구현하고, 스프링시큐리티의 CSRF 기능만 사용하도록 설정하는 방법을 알아봅니다. 테스트는 전자정부표준프레임워크 엔트프라이즈 포털 템플릿에서 했습니다. 스프링 시큐리티 설정파일은 contenxt-security.xml 파일 입니다. 다음과 같이 설정합니다. 기존의 스프링 시큐리티 간소화 설정은 모두 삭제 합니다. 가장 기본적인 설정만 합니다. 이제 태그를 사용하면 CSRF 토큰이 자동으로 삽입되는 것을 확인 할 수 있습니다. 단순 태그를 사용하여 토큰을 삽입하지 않고 로그인을 요청해보면 HTTP 4703 오류가 나는것을 확인할 수 있습니다. 전자정보표준프레임워크 템플릿의 경우에는 스프링시큐리티 인증이 기본으로 되어 있으므로 스크링시큐리티를 걷어.. 2018. 11. 19.
전자정부표준프레임워크 3.7 에서 CSRF 설정 방법 전자정부표준프레임워크에서는 Spring Security를 간편하게 설정할 수 있도록 간소화 설정을 제공하고 있습니다. 그런데 3.6 버전에서는 간소화 설정에서 CSRF 설정을 할수가 없어서 편법을 사용해야 했었습니다. 3.6버전에서의 CSRF 설정 방법을 다음글을 참조하세요. "전자정부표준프레임워크 3.6 Spring Security 설정 간소화에서 CSRF 설정하기" 전자정부표준프레임워크 3.7 에서는 CSRF 설정을 설정파일 내에서 할 수 있도록 바뀌었습니다. 기본설정은 CSRF를 사용하지 않는 것입니다. 설정파일은 /src/main/resources/egovframework/spring/com/context-security.xml 파일 입니다. 설정파일에 기본적으로 CSRF 설정부분은 포함되어 있지.. 2018. 6. 16.
전자정부표준프레임워크 3.6 Spring Security 설정 간소화에서 CSRF 설정하기 전자정부표준프레임워크 3.6 에서는 Spring Security가 권한 정보를 데이터베이스에서 가져오도록 커스터마이징 되어 있는데, 이로 인해 설정이 상당히 복잡해 집니다. 그래서 자체적인 설정을 만들어서 간소화 하고 있습니다. 여기에 CSRF(Cross-Site Request Forgery) 방어를 위해서 설정을 하려고 합니다. 그런데 간소화 설정에는 CSRF 관련 설정이 없는것 같습니다. 다음 예는 전자정부표준프레임워크 3.6.0 버전의 Enterprise Business 템플릿으로 테스트 하였습니다. 여기에는 Spring Security 3.2.4 버전이 사용되고 있습니다. 스프링 시큐리티를 xml 설정파일을 사용해서 설정할때는 CSRF가 기본적으로 비활성화 되어 있습니다. 보통 다음과 같이 활성화.. 2018. 4. 19.