Spring boot를 사용하여 구글 로그인 연동(OAuth 2.0 사용)
-구글 로그인 연동하기-
(사용자 정보를 담당하는 User.class 도메인)
-사용자 정보를 담당할 user.class 생성-
@Enumerated 어노테이션은 Enum 클래스 Role에 저장된 키값을 String 문자열(EnumType.STRING)으로 저장할수있게 도와준다.(Role.Enum에 저장된 ROLE_GUEST, 손님 ROLE_USER, 일반사용자 값을 가져온다.)
@Entity 어노테이션은 User.class를 DB 테이블에 매핑 시켜주는 역활을 한다.
@NoArgsConstructor 어노테이션은 파라미터 생성자를 빈값으로 생성한다.
(각 사용자의 권한을 관리할 Role.enum)
enum 클래스는 클래스처럼 보이게 하는 상수값이다.
enum상 String 문자열 상수 리스트로 GUEST, USER을 생성한다.
-Spring Security 클래스-
SecurityConfig 클래스는 WebSecurityConfigurerAdapter 인터페이스를 상속한다.
.csrf().enable() 선언은 SpringSecurity 기능을 활성화 시킨다.
.authorizeRequests() 선언은 각 URL별 사용자 권한 관리 옵션을 시작한다.
.antMatchers("/", "/css/**", "/images/**", "/js/**", "/h2-console/**").permitAll() 선언은 각 요청값에서 GUEST,USER에게 모든 권한을 지정하는 옵션이다.(antMatchers 선언은 authorizeRequests 기능을 사용 해야지만 사용 가능하다.)
anyRequest().authenticated() 지정된 설정값 이외에 나머지 URL 값을 나타낸다.