본문 바로가기

Spring Security

Spring Security with CustomFilter /** * 기존 프로젝트에서는 클라이언트와 서버간 인증 흐름은 대체로 아래와 같다. * spring security 에서 제공하는 PasswordEncoder 사용 * - client 가 password 를 Sha256 으로 인코딩 하여 서버로 전달 * - server 는 인코딩 된 패스워드를 passwordEncoder 를 사용하여 DB 에 저장된 패스워드와 match 검사를 한다 * passwordEncoder 를 사용하면 내부적으로 match 검사를 한다. * -> Basic 인증을 사용한다고 가정. * 변경후: * client 와 server 에 보안 인증 모듈을 추가로 탑재 하게 되었다. * 공개키 방식의 보안 인증 과정은 아래와 같다. * - client 는 서버가 공개한 public key .. 더보기
spring security - ip based url pattern access /** * 특정 url 에 대해 허용된 아이피만 접근 하도록 설정 하도록 한다. * 물론 hasRole 기반으로 해도 되겠지만, 아이피 기반으로 url 접근을 거부 하도록 한다. * 허용되지 않은 아이피로 url 에 접근시 다시 인증 받도록 한다. * 스프링에서 제공하는 SpEL 형식으로 추가하도록 한다. * * 해당 설정 후 로컬에서 테스트를 진행 하려고 하였으나, 실패 하였다. * 실패의 원인은 로컬에서 WAS 를 실행시 기본적으로 아이피가 0:0:0:0:0:0:0:1 와 같은 ipv6 이 주소를 가져오도록 하였기 때문이다. * VM 옵션 혹은 WAS Arguments 값을 수정 해주도록 한다. * intelliJ: -Djava.net.preferIPv4Stack=true * 톰캣 WAS : cata.. 더보기