๊ฐ์๋ค์ผ๋ฉด์ ๋ฐฐ์ด ๊ฒ๋ค์ ๊ฐ๋จํ๊ฒ๋ผ๋ ๋จ๊ฒจ๋ณด๋ ค๊ณ ํ๋ค! ๐ฅ
Spring Security(์คํ๋ง ์ํ๋ฆฌํฐ)๋?
Spring ๊ธฐ๋ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์์ ๋ด๋นํ๋ Spring ํ์ ํ๋ ์์ํฌ์ด๋ค.
springboot์ spring security๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์๋ ์์กด์ฑ์ ์ถ๊ฐํด์ค์ผํ๋ค.
implementation 'org.springframework.boot:spring-boot-starter-security'
์คํ๋ง ์ํ๋ฆฌํฐ์ ์์กด์ฑ์ ์ถ๊ฐํ๋ฉด ์ผ์ด๋๋ ๊ฒ์?
- ์๋ฒ๊ฐ ๊ฐ๋๋๋ฉด ์คํ๋ง ์ํ๋ฆฌํฐ์ ์ด๊ธฐํ ์์ ๋ฐ ๋ณด์ ์ค์ ์ด ์ด๋ฃจ์ด์ง
- ๋ณ๋์ ์ค์ ์ด๋ ๊ตฌํ์ ํ์ง ์์๋ ๊ธฐ๋ณธ์ ์ธ ์น ๋ณด์ ๊ธฐ๋ฅ์ด ํ์ฌ ์์คํ
์ ์ฐ๋๋ผ ์๋
- ๋ชจ๋ ์์ฒญ์ ์ธ์ฆ์ด ๋์ด์ผ ์์์ ์ ๊ทผ์ด ๊ฐ๋ฅ
- ์ธ์ฆ ๋ฐฉ์์ Form ๋ก๊ทธ์ธ ๋ฐฉ์๊ณผ httpBasic ๋ก๊ทธ์ธ ๋ฐฉ์์ ์ ๊ณตํ๋ค.
- ๊ธฐ๋ณธ ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ์ ๊ณต
- ๊ธฐ๋ณธ ๊ณ์ ํ ๊ฐ ์ ๊ณต
- username : user
- password : ๋๋ค ๋ฌธ์์ด (ํ๋ก์ ํธ ์คํ ๋๋ ๋๋ฒ๊น ํ๋ฉด ์คํ์ฐฝ์ ๋ํ๋๋ค. )
- ์์ ๋ ๊ฐ๋ ๋์ค์ SecurityConfig์์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๋ค!
๊ธฐ๋ณธ์ ์ธ ์ํ๋ฆฌํฐ ์ค์ ์์ ์์ฌ์ด ์
- ๊ณ์ ์ถ๊ฐ, ๊ถํ ์ถ๊ฐ, DB ์ฐ๋ ๋ฑ ์ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์
- ๊ธฐ๋ณธ์ ์ธ ๋ณด์ ๊ธฐ๋ฅ ์ธ์ ์์คํ ์์ ํ์๋ก ํ๋ ๋ ์ธ๋ถ์ ์ด๊ณ ์ถ๊ฐ์ ์ธ ๋ณด์ ๊ธฐ๋ฅ ํ์
์ ์ฒด์ ์ผ๋ก ๋ณธ ์คํ๋ง ์ํ๋ฆฌํฐ
- WebSecurityConfigurerAdapter : ์คํ๋ง ์ํ๋ฆฌํฐ์ ์น ๋ณด์ ๊ธฐ๋ฅ ์ด๊ธฐํ ๋ฐ ์ค์ ์ ๋ด๋นํ๋ ํด๋์ค → httpSecurity ์์ฑ
- ๊ทผ๋ฐ ํ์ฌ ์คํ๋ง ๋ฒ์ ์ด ์ ๋ฐ์ดํธ๋๋ฉด์ ์ด๋ํฐ๋ ์ ๊ณตํ๊ณ ์์ง ์๋ค!
- httpSecurity : ์ธ๋ถ์ ์ธ ๋ณด์ ๊ธฐ๋ฅ์ ์ค์ ํ ์ ์๋ API ์ ๊ณต
- ์ธ์ฆ๊ณผ ์ธ๊ฐ API๋ฅผ ์ค์ ํ ์ ์์
๊ธฐ๋ณธ์ ์ธ SecurityConfig ์ค์
@Configuration
@EnableWebSecurity
public class SecurityConfig{
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests()
.anyRequest().authenticated();
http
.formLogin(withDefaults());
return http.build();
}
}
- @EnableWebSecurity : ํด๋น ์ด๋ ธํ ์ด์ ์ ์์ฑํด์ผ ์น ๋ณด์์ด ํ์ฑํ ๋๋ค !!
๐ ์ด๋ ๊ฒ ๊ธฐ๋ณธ์ ์ธ ์ค์ ์ ํ๊ณ ํ๋ก์ ํธ๋ฅผ ์คํ์ํค๋ฉด ๋ก๊ทธ์ธํ๋ ํ์ด์ง๊ฐ ๋์จ๋ค!
์ด๋, ์ผ์ผํ ๋ก๊ทธ์ธํ๊ธฐ ์ซ์ผ๋ฉด application.properties ๋๋ application.yml ํ์ผ์ ์๋์ฒ๋ผ ์ค์ ํด์ฃผ๋ฉด ๋จ
spring.security.user.name=user
spring.security.user.password=1111
ํด๋น ๊ธ์ ์ธํ๋ฐ์ ์คํ๋ง์ํ๋ฆฌํฐ-Spring Boot ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ๋ Spring Security๋ฅผ ๋ณด๊ณ ์์ฑํ ๊ธ์ ๋๋ค.
'Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] Spring Security(์คํ๋ง ์ํ๋ฆฌํฐ) Logout์ฒ๋ฆฌ, LogoutFilter (2) | 2023.11.02 |
---|---|
[Spring] Spring Security(์คํ๋ง ์ํ๋ฆฌํฐ) Form Login ์ธ์ฆ (0) | 2023.11.01 |
[Spring] Dirty Checking(๋ํฐ ์ฒดํน) ์ด๋? (0) | 2023.10.27 |
[Spring] Service, ServiceImpl ๊ตฌ์กฐ (0) | 2023.06.30 |
[Spring] ํด์ํ๊ทธ ๊ธฐ๋ฅ DB + JPA ์ค๊ณ (0) | 2023.06.20 |