高度な認証と認可
高度な認証、@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問