스프링 시큐리티 간소화시 csrf 태그와 prefix 'ROLE_'
- 작성자 :
- 양*일
- 작성일 :
- 2015-05-21 22:01:38
- 조회수 :
- 861
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
1. 간소화에서 csrf 태그를 적용하는 방법?
2. 간소화에서 prefix 'ROLE_' 사용안하는 방법?
3. 자원별 접근권한을 수정했을경우 다시 반영하는 방법이 개별 컨트롤러에서 자원이나 권한 저장후에 databaseSecurityMetadataSource.reload(); 호출하면 맞는건가요?
2. 간소화에서 prefix 'ROLE_' 사용안하는 방법?
3. 자원별 접근권한을 수정했을경우 다시 반영하는 방법이 개별 컨트롤러에서 자원이나 권한 저장후에 databaseSecurityMetadataSource.reload(); 호출하면 맞는건가요?
A
안녕하세요. 표준프레임워크센터입니다.
1. 우선 전자정부 표준프레임워크 내부에서 csrf 관련된 취약점 방어 관련 모듈을 구현하여 제공하고 있지는 않습니다.
해당 기능은 구현 단에서 토큰 값들을 사용해서 폼 데이터가 전송될 때 해당 전송이 정상적인 전송인지 여부를 검사하거나 하는등의
CSRF 공격 차단을 위한 기능을 추가 하셔야 합니다. 다만 스프링 기반으로 csrf 방어 기능을 구현 하시려고 하시면, 스프링 시큐리티
3.1이상에 적용되어 있는 CSRF Protection 기능을 활용하시면 스프링 및 스프링 시큐리티 기반으로 구현 가능 하십니다.
2. 'ROLE_' 해당 prefix를 반드시 사용하셔야 됩니다.
스프링 시큐리티는 RoleVoter라고 부여된 권한(Granted Authority)을 검사하는 클래스를 가지고 있는데, 이 검사자가 문자열이
'ROLE_'이란 접두어로 시작하는 지를 검사하여, 시작하지 않을 경우 접근보류 상태가 됩니다.
아래 외부링크 내용을 참조하시길 바랍니다.
http://jjeong.tistory.com/589
3. 해당 메소드를 사용하시면 reload 가능합니다.
감사합니다.
1. 우선 전자정부 표준프레임워크 내부에서 csrf 관련된 취약점 방어 관련 모듈을 구현하여 제공하고 있지는 않습니다.
해당 기능은 구현 단에서 토큰 값들을 사용해서 폼 데이터가 전송될 때 해당 전송이 정상적인 전송인지 여부를 검사하거나 하는등의
CSRF 공격 차단을 위한 기능을 추가 하셔야 합니다. 다만 스프링 기반으로 csrf 방어 기능을 구현 하시려고 하시면, 스프링 시큐리티
3.1이상에 적용되어 있는 CSRF Protection 기능을 활용하시면 스프링 및 스프링 시큐리티 기반으로 구현 가능 하십니다.
2. 'ROLE_' 해당 prefix를 반드시 사용하셔야 됩니다.
스프링 시큐리티는 RoleVoter라고 부여된 권한(Granted Authority)을 검사하는 클래스를 가지고 있는데, 이 검사자가 문자열이
'ROLE_'이란 접두어로 시작하는 지를 검사하여, 시작하지 않을 경우 접근보류 상태가 됩니다.
아래 외부링크 내용을 참조하시길 바랍니다.
http://jjeong.tistory.com/589
3. 해당 메소드를 사용하시면 reload 가능합니다.
감사합니다.