[스프링] 스프링 클라우드 시큐리티 설정 방법
스프링 클라우드 시큐리티는 스프링 부트 애플리케이션에 보안 기능을 쉽게 적용할 수 있도록 해줍니다. 이를 통해 사용자의 인증과 인가를 관리하고, API 엔드포인트의 보안을 강화할 수 있습니다.
의존성 추가
먼저 pom.xml
파일에 다음과 같이 의존성을 추가합니다.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-security</artifactId>
</dependency>
보안 설정
스프링 시큐리티를 구성하기 위해 보안 관련 구성 클래스를 만들어야 합니다. 아래는 간단한 예시입니다.
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/public/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic();
}
}
위 구성 클래스에서는 /public/**
경로에 대한 접근은 인증 없이 허용하고, 그 외의 모든 요청은 인증을 필요로 합니다.
사용자 관리
스프링 클라우드 시큐리티를 통해 사용자 계정을 설정하려면 application.properties
또는 application.yml
파일을 다음과 같이 수정합니다.
spring:
security:
user:
name: user
password: password
위 예제에서는 사용자 이름이 user
이고 비밀번호가 password
인 계정을 추가했습니다. 그러면 애플리케이션을 실행할 때 이 계정을 사용하여 로그인할 수 있습니다.
결론
스프링 클라우드 시큐리티를 이용하면 스프링 부트 애플리케이션에 간단하게 보안 기능을 적용할 수 있습니다. 이를 통해 애플리케이션의 보안을 효과적으로 강화할 수 있으며, 사용자 관리 또한 간편하게 할 수 있습니다.
더 많은 정보를 원하신다면 공식 문서를 참고해보세요.