정수원님의 **스프링 시큐리티 완전 정복** 강의 내용 기록입니다 !!
자동 설정에 의한 기본 보안 작동
implementation 'org.springframework.boot:spring-boot-starter-security'
- Spring Security 의존성을 추가하면 별도의 설정이나 코드를 작성하지 않아도,
서버가 기동되면 스프링 시큐리티의 초기화 작업 및 보안 설정이 이루어짐
- 모든 요청에 대해 인증 여부를 검증하고 인증이 승인되어야 자원에 접근이 가능
- 인증 방식은 폼 로그인 방식 / httpBasic 로그인 방식 제공
- 웹에서 접근 시, 인증을 시도할 수 있는 로그인 페이지가 자동적으로 생성되어 렌더링됨
- 인증 승인이 이루어질 수 있도록 한 개의 계정이 기본적으로 제공됨
기본 계정
- SecurityProperties 설정 클래스에서 생성
- username : user
- password : 랜덤 문자열
1. 화면에 "index"를 띄우는 코드를 작성
2. 서버 기동
- 기본으로 제공되는 로그인 정보의 password 확인 가능
3. 8080 포트로 접속 시 "/login" 으로 리다이렉트 되어 로그인 화면 표시됨
- user / password 입력 후 로그인 하면 원하는 화면 표시됨
자동 설정에 의한 기본 보안 설정 클래스를 생성하는 설정 클래스
≫ SpringBootWebSecurityConfiguration
- Spring Security 의존성을 추가하지 않았을 때는 서버 접근에 인증이 필요하지 않았지만,
의존성을 추가하면 해당 클래스에 의해 인증을 요청하게 됨 - http.authorizeRequests().anyRequest().authenticated() : 어떤 요청에 대해서도 인증을 받아야 함
- 인증을 받지 못하면 모든 요청에 대해 서버 접근 불가
- 인증할 수 있는 방법을 제공해야 함
- http.formLogin() : 폼로그인 인증 방식 제공
- http.httpBasic() : 기본 인증인 httpBasic 인증 방식 제공
≫ 하지만, 계정을 추가하거나 각 계정에 따라 권한을 부여하고 권한에 따라 다른 기능을 부여하는 등 더 세부적이고 추가적인 보안기능이 필요할 때는 기본 인증 방식으로 처리 불가능
'spring security' 카테고리의 다른 글
폼 인증 - formLogin() (0) | 2025.01.19 |
---|---|
사용자 정의 보안 설정하기 (0) | 2025.01.17 |
DelegatingFilterProxy / FilterChainProxy (0) | 2025.01.13 |
WebSecurity / HttpSecurity (0) | 2025.01.13 |
SecurityBuilder / SecurityConfigurer (0) | 2025.01.13 |