Spring Boot 프로젝트에 spring-boot-starter-security 의존성을 추가하면 별도의 설정없이 기본 로그인 페이지가 자동으로 활성화된다.
로컬 테스트 및 권한 테스트를 위해 SpringSecurity 설정을 명시적으로 정의하여 SecurityConfig를 구성
@Configuration
public class SecurityConfig {
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
// Spring Security 5버전 이하
// http
// .csrf().disable()
// .authorizeHttpRequests()
// .requestMatchers("/public/**").permitAll()
// .requestMatchers("/admin/**").hasRole("ADMIN")
// .anyRequest().authenticated()
// .and()
// .formLogin();
// Spring Security 6.1 버전 이후
http
.csrf(csrf -> csrf.disable())
.authorizeHttpRequests(auth -> auth
.requestMatchers("/public/**").permitAll()
.requestMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
)
.formLogin(withDefaults()); // 기본 로그인 폼
return http.build();
}
}
설명
1.@Configuration
-> Spring Security 설정 클래스로 등록하여 SecurityFilterChain Bean 생성
2. authorizeHttpRequests()
-> URL 패턴별 접근 권한을 설정
/public/** : 인증 없이 접근 허용
/admin/** : ROLE_ADMIN 권한 필요
그 외 요청 : 인증 필요
3. formLogin(withDefaults())
→ Spring Security에서 제공하는 기본 로그인 페이지 활성화
'프로젝트 끄적이기' 카테고리의 다른 글
| 5.PasswordEncoder를 이용한 비밀번호 암호화 (0) | 2026.01.27 |
|---|---|
| 4. Spring Security 로그인 인증 방식 (0) | 2026.01.27 |
| 3. 의존성 주입(DI) 방법 비교 (0) | 2026.01.22 |
| 0. 프로젝트 세팅 (0) | 2026.01.21 |
| 2. 도메인(Entity) 생성 (0) | 2026.01.20 |