고급 인증 및 인가
고급 인증, @PreAuthorize/@PostAuthorize, roles, permissions, SpEL을 이용한 세밀한 인가
30 면접 질문·
Senior
1Spring Security에서 UserDetailsService 인터페이스의 주요 역할은 무엇입니까?
1
Spring Security에서 UserDetailsService 인터페이스의 주요 역할은 무엇입니까?
답변
UserDetailsService는 인증 시 데이터 소스(데이터베이스, LDAP 등)에서 사용자 정보를 로드하는 역할을 합니다. 해당 loadUserByUsername() 메서드는 username, password, roles, authorities를 포함하는 UserDetails 객체를 반환합니다. 그런 다음 Spring Security는 이 정보를 사용하여 자격 증명을 검증하고 SecurityContext를 구성합니다.
2Spring Security 6+에서 메서드 수준 보안을 활성화하는 어노테이션은 무엇입니까?
2
Spring Security 6+에서 메서드 수준 보안을 활성화하는 어노테이션은 무엇입니까?
답변
@EnableMethodSecurity는 Spring Security 6+에서 메서드 수준 보안을 활성화하는 최신 어노테이션입니다. 기존의 @EnableGlobalMethodSecurity를 대체하며 기본적으로 @PreAuthorize, @PostAuthorize, @Secured를 활성화합니다. AOP 프록시 기반 구성을 사용하여 메서드 호출을 가로채고 인가를 확인합니다.
3@PreAuthorize 어노테이션은 언제 인가를 확인합니까?
3
@PreAuthorize 어노테이션은 언제 인가를 확인합니까?
답변
@PreAuthorize는 메서드 실행 전에 인가를 확인합니다. SpEL 조건이 false를 반환하면 AccessDeniedException이 발생하고 메서드는 절대 실행되지 않습니다. 이를 통해 처음부터 허가되지 않은 리소스에 대한 접근을 막을 수 있습니다. 반대로 @PostAuthorize는 실행 후에 확인하므로 사용자에 따라 결과를 필터링하는 데 유용합니다.
4
Spring Security에서 hasRole()과 hasAuthority()의 주요 차이점은 무엇입니까?
5
데이터베이스에서 사용자를 로드하는 커스텀 UserDetailsService를 어떻게 구현합니까?
+27 면접 질문
기타 Spring Boot 면접 주제
Spring Core - IoC & DI
Junior
22개 질문Spring Boot Auto-Configuration
Junior
20개 질문Spring Boot Starters
Junior
18개 질문Application Properties & YAML
Junior
16개 질문SLF4J 및 Logback을 사용한 로깅
Junior
20개 질문Spring Boot DevTools
Junior
15개 질문Spring MVC Basics
Mid-Level
20개 질문Spring REST Controllers
Mid-Level
20개 질문Request & Response Handling
Mid-Level
20개 질문예외 처리
Mid-Level
25개 질문Bean Validation
Mid-Level
25개 질문Spring Data JPA 기초
Mid-Level
25개 질문JPA 엔티티 및 관계
Mid-Level
30개 질문JPA 쿼리
Mid-Level
30개 질문Spring Data Repositories
Mid-Level
25개 질문Spring Security 기초
Mid-Level
25개 질문Spring Boot Actuator
Mid-Level
20개 질문JUnit과 Mockito를 사용한 단위 테스트
Mid-Level
30개 질문Spring Boot 테스트
Mid-Level
30개 질문Profiles와 Environment
Mid-Level
20개 질문RestTemplate 및 WebClient
Mid-Level
24개 질문Async와 스케줄링
Mid-Level
25개 질문Spring을 사용한 캐싱
Mid-Level
25개 질문Spring WebFlux (리액티브)
Mid-Level
25개 질문Spring 트랜잭션
Senior
30개 질문JWT 및 스테이트리스 보안
Senior
20개 질문OAuth2와 Authorization Server
Senior
20개 질문Spring Boot와 Docker
Senior
19개 질문Spring을 활용한 마이크로서비스
Senior
25개 질문Spring Cloud Config
Senior
19개 질문성능 최적화
Senior
30개 질문GraalVM Native Images
Senior
20개 질문