이 글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다
Spring Security 시작
Spring Security는 스프링 진영에서 제공하는 Spring 관련 보안 라이브러리다. 기존에는 사용자가 필터, 인터셉터를 이용해서 보안 처리를 했었는데 Spring Security는 좀 더 개발자들이 효율적으로 보안처리를 할 수 있도록 여러 확장 가능한 기능을 제공한다.
Spring Security 설정
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-security'
}
Spring Security를 사용하려면 의존성 주입이 필요하다. 다음과 같이 build.gradle에 의존성 주입을 해주면 사용이 가능해진다.
혹은 스프링 스타트에서 프로젝트를 생성할 때, Spring Security를 통해서 의존성 주입을 할 수 있다.
Spring Security 의존성 주입 시, 일어나는 일
- 모든 Request는 인증이 되어야 접근 가능하다.
- 인증 방식은 폼 로그인 방식, httpBasic 로그인 방식을 제공한다.
- 기본 로그인 페이지를 제공한다.
- 기본 로그인 가능한 계정을 하나 제공한다.
Spring Security 의존성이 주입되면 WebSecurityConfigurerAdapater를 이용해서 일련의 보안 설정을 해준다. 의존성만 주입했을 때, 바로 제공되는 기능은 위와 같다.
실제로 localhost:8080으로 접근해보면 localhost:8080/login으로 리다이렉팅 되서 로그인을 해야하는 것을 확인할 수 있다. 즉, 기본적인 Http Request도 모두 스프링 Security를 통해 인증을 통과해야만 접근이 가능하다는 것이다.
Spring Security 기본 계정 로그인 하는 방법
Spring Security를 활성화 하면 로그인 가능한 기본 계정을 하나 제공한다. 기본 계정명은 user이며, 로그인 비밀번호는 위의 이미지처럼 WAS를 활성화 시킬 때마다, 그 때 그 때 다른 문자열이 제공된다.
Spring Security 기본 계정 로그인 아이디 / 비밀번호 설정하는 방법
spring.security.user.name=user
spring.security.user.password=1111
Spring Security는 application.properties에서 위의 속성을 설정하면서 기본 제공 로그인 계정의 ID와 비밀번호를 자유롭게 바꿀 수 있다. 위와 같이 설정할 경우 user / 1111로 로그인 가능하다.
'Spring > Spring Security' 카테고리의 다른 글
Spring Security : 익명 사용자 필터 (0) | 2022.04.04 |
---|---|
Spring Security : Remember Me 인증 (0) | 2022.04.04 |
Spring Security : Logout Filter + API (0) | 2022.04.02 |
Spring Security : Login 필터 + API의 이해 (0) | 2022.03.27 |
Spring Security : 사용자 정의 보안 기능 구현 (0) | 2022.03.27 |