- 사용자가 아이디 비밀번호로 로그인을 요청함
- AuthenticationFilter에서 UsernamePasswordAuthenticationToken을 생성하여 AuthenticaionManager에게 전달
- AuthenticaionManager는 등록된 AuthenticaionProvider(들)을 조회하여 인증을 요구함
- AuthenticaionProvider는 UserDetailsService를 통해 입력받은 아이디에 대한 사용자 정보를 DB에서 조회함
- 입력받은 비밀번호를 암호화하여 DB의 비밀번호화 매칭되는 경우 인증이 성공된 UsernameAuthenticationToken을 생성하여 AuthenticaionManager로 반환함
- AuthenticaionManager는 UsernameAuthenticaionToken을 AuthenticaionFilter로 전달함
- AuthenticationFilter는 전달받은 UsernameAuthenticationToken을 LoginSuccessHandler로 전송하고, 토큰을 response의 헤더에 추가하여 반환함
- https://github.com/MangKyu/SpringSecurity-Example으로부터 소스를 클론받는다.
- CREATE DATABASE security DEFAULT CHARSET UTF8; 으로 데이터베이스를 생성한다.
- application.properties에서 DB username과 password를 개인에 맞게 변경해준다.
- back 폴더로 가서 서버를 실행시킨다.
- frontend 폴더로 가서 클라이언트를 실행시킨다.
- npm install
- npm run dev