# Spring Security の基礎 (Spring Boot) > Spring Security、認証、認可、SecurityFilterChain、UserDetailsService、PasswordEncoder - 25 面接問題 - Mid-Level - [面接問題: Spring Boot](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions.md) ## 1. Spring Security とは何ですか? **回答** Spring Security は Spring アプリケーション向けのセキュリティフレームワークで、認証と認可の機能を提供します。一般的な攻撃(CSRF、XSS、session fixation)からアプリケーションを保護し、さまざまな認証メカニズム(form login、HTTP Basic、OAuth2、JWT)との統合を提供します。このフレームワークはフィルターチェーン(Security Filter Chain)を使用して、HTTP リクエストが controller に到達する前にそれらをインターセプトして処理します。 ## 2. Spring Security における認証と認可の違いは何ですか? **回答** 認証はユーザーの身元(あなたは誰か)を検証し、通常は username/password を用います。一方、認可は権限(何ができるか)を検証します。認証が最初に行われ、ユーザー情報を持つ SecurityContext を作成します。次に認可はこの情報を使って、ユーザーが特定のリソースにアクセスできるかどうかを判断します。例えば、ユーザーは認証に成功しても、ロールが ADMIN ではなく USER の場合は /admin へのアクセスが認可されないことがあります。 ## 3. Spring Security における SecurityContext とは何ですか? **回答** SecurityContext は、現在認証されているユーザーのセキュリティ情報、主に Authentication オブジェクトを保持するオブジェクトです。これは SecurityContextHolder に格納され、リクエスト処理全体を通してアクセスできます。認証が成功すると、Spring Security はユーザーの詳細(username、authorities、credentials)を持つ Authentication を含む SecurityContext を作成します。このコンテキストにより、アプリケーションは現在のユーザーが誰であり、どのような権限を持っているかを確認できます。 ## さらに22問利用可能 - SecurityContextHolder はデフォルトでどのように SecurityContext を格納しますか? - Spring SecurityにおけるUserDetailsインターフェースの役割は何ですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のSpring Boot面接トピック - [Spring Core - IoC & DI](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-core-ioc-di.md): 22問, Junior - [Spring Boot Auto-Configuration](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-boot-auto-configuration.md): 20問, Junior - [Spring Boot Starters](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-boot-starters.md): 18問, Junior - [Application Properties & YAML](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/application-properties-yml.md): 16問, Junior - [SLF4J と Logback によるロギング](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/logging.md): 20問, Junior - [Spring Boot DevTools](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-boot-devtools.md): 15問, Junior - [Spring MVC Basics](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-mvc-basics.md): 20問, Mid-Level - [Spring REST Controllers](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-rest-controllers.md): 20問, Mid-Level - [Request & Response Handling](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/request-response-handling.md): 20問, Mid-Level - [例外処理](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/exception-handling.md): 25問, Mid-Level - [Bean Validation](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/bean-validation.md): 25問, Mid-Level - [Spring Data JPA の基礎](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-data-jpa-basics.md): 25問, Mid-Level - [JPA エンティティとリレーションシップ](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/jpa-entities-relationships.md): 30問, Mid-Level - [JPA クエリ](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/jpa-queries.md): 30問, Mid-Level - [Spring Data Repositories](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-data-repositories.md): 25問, Mid-Level - [Spring Boot Actuator](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-boot-actuator.md): 20問, Mid-Level - [JUnit と Mockito による単体テスト](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/testing-junit-mockito.md): 30問, Mid-Level - [Spring Boot のテスト](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-boot-testing.md): 30問, Mid-Level - [Profiles と Environment](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/profiles-environment.md): 20問, Mid-Level - [RestTemplate と WebClient](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/resttemplate-webclient.md): 24問, Mid-Level - [Async とスケジューリング](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/async-scheduling.md): 25問, Mid-Level - [Springでのキャッシング](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/caching.md): 25問, Mid-Level - [Spring WebFlux (リアクティブ)](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-webflux.md): 25問, Mid-Level - [Spring トランザクション](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/transactions.md): 30問, Senior - [高度な認証と認可](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/authentication-authorization.md): 30問, Senior - [JWT とステートレスセキュリティ](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/jwt-stateless-security.md): 20問, Senior - [OAuth2 と Authorization Server](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/oauth2-authorization-server.md): 20問, Senior - [Spring Boot と Docker](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-boot-docker.md): 19問, Senior - [Spring によるマイクロサービス](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/microservices-basics.md): 25問, Senior - [Spring Cloud Config](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-cloud-config.md): 19問, Senior - [パフォーマンス最適化](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/performance-optimization.md): 30問, Senior - [GraalVM Native Images](https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/graalvm-native-images.md): 20問, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ja/technologies/spring-boot/interview-questions/spring-security-basics