
common 은 공통으로 쓰이는 파일들을 넣은 공간

SecurityConfig 파일로 인하여 어떤 주소를 입력하든 login 화면으로 간다.

스프링 부트 2.7 버전 이상은 security 방식이 바뀜
// 인가 Authorization (인증 Authentication + 권한 Authority)
http.authorizeHttpRequests(config -> config
// 패턴에 해당하는 주소는 허용
.antMatchers("/auth/login", "/auth/join", "/api/*/auth/**")
.permitAll()
// 패턴에 해당하는 주소는 권한이 있어야만 들어갈 수 있음.
.antMatchers("/todoList")
.hasRole("USER")
// 모든 페이지를 인증하게 만듬
.anyRequest()
.authenticated());
회원가입시 회원가입 데이터가 저장 되고 그 주소 권한이 부여되면서 로그인 가능하게됨.

entity, repository 는 변하지 않음
service 는 주소를 받고
controller 안에 있는 controller 파일은 화면을 리턴한다.
controller 안에 있는 Api 파일은 데이터(통신)를 리턴한다.
ArrayList : 동시 접속 가능, 속도가 빠르다.
Vector : 동시 접속 불가능, 속도가 느리다.

SecurityCofig -> 스프링에서 제공하는 시큐리티
UserDetails -> proc 역할
v1-> GetMapping 쿼리 스트링으로
v2-> Get Post Put Delete
스프링 시큐리티