1.. 스프링 시큐리티 연동
2. 스프링 시큐리티 기본 설정(URL)
3. 스프링 시큐리티 : JPA 연동
4. 스프링 시큐리티 폼 설정
1. 스프링 시큐리티 연동
- 현재 문제
- 로그인 할 방법이 없음
- 현재 사용자를 알아낼 방법이 없음
1-1) 스프링 시큐리티 의존성 추가하기
- 스프링 부트 도움 받아 추가하기
- 스타터(Starter) 사용
- 버전 생략 - 스프링 부트의 의존성 관리 기능 사용
<!-- security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
1-2) 로그인할 방법이 없음 → 로그인 하기
- 모든 요청은 인증을 필요로 합니다.
- 기본 유저가 생성됩니다.
- Username: user
- Password: 콘솔에 출력된 문자열 확인
- 현재 사용자를 알아낼 방법이 없음 → 알아냄

1-3) 해결한 문제
- 인증을 할 수 있다.
- 현재 사용자 정보를 알 수 있다.
2. 스프링 시큐리티 기본 설정
- View
- 홈 페이지(/)
- 인증된 사용자도 접근할 수 있으며 인증하지 않은 사용자도 접근할 수 있습니다.
- 인증된 사용자가 로그인 한 경우에는 이름을 출력할 것.
- 정보(/info)
- 이 페이지는 인증을 하지 않고도 접근할 수 있으며, 인증을 한 사용자도 접근할 수 있습니다.
- 대시보드(/dashboard)
- 이 페이지는 반드시 로그인 한 사용자만 접근할 수 있습니다.
- 인증하지 않은 사용자가 접근할 시 로그인 페이지로 이동합니다.
- 어드민(/admin)
- 이 페이지는 반드시 ADMIN 권한을 가진 사용자만 접근할 수 있습니다.
- 인증하지 않은 사용자가 접근할 시 로그인 페이지로 이동합니다.
- 인증은 거쳤으나, 권한이 충분하지 않은 경우 에러 메시지를 출력합니다.
2-1) 홈 페이지(/)
- 인증된 사용자도 접근할 수 있으며 인증하지 않은 사용자도 접근할 수 있습니다.
- 인증된 사용자가 로그인 한 경우에는 이름을 출력할 것.
2-1)-1. IndexControllerTest

-
TestWithUser

-
Console(Error)

2-1)-2. IndexController

2-1)-3. Index.html

-
Console(Error)

2-1)-4. SecurityConfig

-
Console(Success)

2-2) 정보(/info)
- 이 페이지는 인증을 하지 않고도 접근할 수 있으며, 인증을 한 사용자도 접근할 수 있습니다.
2-2)-1. IndexController

2-2)-2. info.html

2-3) 대시보드(/dashboard)
- 이 페이지는 반드시 로그인 한 사용자만 접근할 수 있습니다.
- 인증하지 않은 사용자가 접근할 시 로그인 페이지로 이동합니다.
2-3)-1. IndexController

2-3)-2. dashboard.html

2-4) 어드민(/admin)
- 이 페이지는 반드시 ADMIN 권한을 가진 사용자만 접근할 수 있습니다.
- 인증하지 않은 사용자가 접근할 시 로그인 페이지로 이동합니다.
- 인증은 거쳤으나, 권한이 충분하지 않은 경우 에러 메시지를 출력합니다.
2-4)-1. IndexControllerTest

-
Console(Error)

2-4)-2. IndexController

-
TestWithAdmin

-
Console(Success)

3. 스프링 시큐리티 : JPA 연동 & 시큐리티 폼 설정
3. 스프링 시큐리티 기본 설정 & 폼 설정(Click)