Spring Boot

Spring Security の基礎

Spring Security、認証、認可、SecurityFilterChain、UserDetailsService、PasswordEncoder

25 面接問題·
Mid-Level
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 を作成します。このコンテキストにより、アプリケーションは現在のユーザーが誰であり、どのような権限を持っているかを確認できます。

4

SecurityContextHolder はデフォルトでどのように SecurityContext を格納しますか?

5

Spring SecurityにおけるUserDetailsインターフェースの役割は何ですか?

+22 面接問題

次の面接に向けてSpring Bootをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める