인프런 커뮤니티 질문&답변

화이팅님의 프로필 이미지
화이팅

작성한 질문수

스프링 시큐리티

Ip 제한의 대한 질문이 있습니다.

작성

·

320

0

강의에서 설명해주신 내용은 잘 이해했습니다.

강의의 내용은 permitAll 자원을 제외하고, 나머지 인가 자원의 대한 Ip 권한 체크인데요.

개인적인 생각으로는 보통 특정 자원이 아닌, 모든 자원의 대한 IP 제한을 하지 않나 싶습니다.

그렇게되면, Voter로는 해당 구현이 어려워 보이는데요.[permitAll은 FilterSecurityInterceptor를 상속한 PermitAllFilter에서 처리하기 때문]

모든 자원에 대한 IP 제한을 할 경우, 커스텀 필터[IpAccessFilter]를 만들어서 제한을 해야한다고 생각합니다.

그러 경우, FilterSecurityInterceptor 전에 두고, 화이트 리스트 IP가 아니라면 AccessDeniedException을 발생할까 고민중입니다.

 

해당 필터의 위치는 어느쪽이 적합한지와 제가 질문드린 내용의 대한 강사님의 생각이 궁금합니다.

답변 1

0

정수원님의 프로필 이미지
정수원
지식공유자

네 맞는 말씀입니다.

다만 해당 강의는 IP 제한에 대한 최적화된 방법을 안내한 것이라기 보다는 Voter 에 대한 사용법과 응용에 대한 내용을 설명하고자 IP 제한을 예로 든 것이라 이해하시면 되겠습니다.

말씀하신 것 처럼 IP 관련 필터를 만들어서 먼저 IP 를 검증하고 나서 그 결과에 따라 이후의 접근 권한 유무를 체크하는 식의 구현방식도 좋은 설계이고 실제로 그렇게 많이 사용하기도 합니다.

화이팅님의 프로필 이미지
화이팅
질문자

친절한 답변 감사합니다^^

화이팅님의 프로필 이미지
화이팅

작성한 질문수

질문하기