스프링 시큐리티 전체를 관통하는 가장 중요한 개념은 인증(Authentication)과 인가(Authorization)라는 개념임
인증:흔히 말하는 로그인 개념 인증을 위해서 사용자는 자신이 알고있는 정보(ID & PASSWORD)를 제공
인가: 인증된 사용자라고 해도 이에 접근할 수 있는 권한이 있는지를 확인하는 과정
웹 어플리케이션에서 스프링 시큐리티를 적용하면 로그인을 통해서 인증을 수행하고 컨트롤러의 경로에 시큐리티 설정으로 특정한 권한이 있는 사용자들만 접근할 수 있도록 설정
여기서 인증 처리는 인증제공자(Authentiaction Provider)
라는 존재를 이용해서 처리되는데
인증 제공자와 그 이하의 흐름은 일반적으로 커스터마이징 해야 하는 경우가 거의 없음
따라서 실제 인증처리를 담당하는 객체만을 커스터 마이징 하는 경우가 대부분임