-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
IP 접속 제한에 대해
22.11.28 02:53 작성 조회수 497
1
안녕하세요.
9) 아이피 접속 제한하기 - CustomIpAddressVoter 강에서
'등록한 IP에 대한 접속 제한'이 아닌
'등록한 IP에 대한 접속 허용'으로 구현하였는데
제 생각에는 일반적인 웹 서비스에서는 전자가 사용될 것으로 생각되어 의아함을 느꼈습니다.
그래서 아래와 같이 등록된 IP에 대해 접속이 제한되도록 바꾸었습니다.
@Override
public int vote(Authentication authentication, Object object, Collection<ConfigAttribute> configList) {
if (!(authentication.getDetails() instanceof WebAuthenticationDetails)) {
return ACCESS_DENIED;
}
WebAuthenticationDetails details = (WebAuthenticationDetails) authentication.getDetails();
String address = details.getRemoteAddress();
List<String> accessIpList = securityResourceService.getAccessIpList();
for (String ipAddress : accessIpList) {
if (address.equals(ipAddress)) {
throw new AccessDeniedException("Invalid IP Address");
}
}
return ACCESS_ABSTAIN;
}
'등록한 IP에 대한 접속 허용' 으로 구현한 이유가 있을까요?
수정한 코드에 잘못된 부분이 있다면 지적 부탁드립니다. (기능은 잘 되는 것으로 보입니다.)
답변을 작성해보세요.
1
정수원
지식공유자2022.12.01
네
IP 허용은 화이트 리스트로 할 것인지 블랙 리스트로 한 것인지에 따라 구현을 하면 됩니다.
강의에서는 화이트 리스트로 한 것이라 보시면 됩니다.
소스 코드는 특별한 문제는 없어 보입니다.
답변 1