wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Untitled Quiz

Total questions: 38

Worksheet time: 19mins

Name
Class
Date
1.

Quelle différence décrit le mieux l’authentification par rapport à l’autorisation ?

a)

L’authentification vérifie les permissions, l'autorisation vérifie l'identité.

b)

L'authentification vérifie l'identité, l'autorisation vérifie les permissions.

c)

Les deux signifient la même chose.

d)

L’authentification se fait uniquement côté frontend.

2.

Laquelle des attaques suivantes consiste à injecter du code (script) dans une page Web ?

a)

XSS (Cross-Site Scripting)

b)

Brute force

c)

Session fixation

d)

CSRF

3.

Pourquoi Basic Auth doit-il obligatoirement être utilisé via HTTPS ?

a)

Parce qu'il ne fonctionne pas sans HTTPS.

b)

Parce que les identifiants encodés en Base64 peuvent être lus en clair sur le réseau.

c)

Parce que Spring Security l'exige obligatoirement.

d)

Parce qu'il génère automatiquement des cookies sécurisés.

4.

Quel composant intercepte réellement les requêtes HTTP dans une application sécurisée avec Spring Security moderne ?

a)

DispatcherServlet

b)

SecurityFilterChain

c)

HandlerMapping

d)

WebSecurityConfigurerAdapter

5.

Quel élément a été supprimé dans Spring Security 6+ au profit d’une configuration basée sur des beans ?

a)

WebSecurityConfigurerAdapter

b)

SecurityFilterChain

c)

AuthenticationManager

d)

UserDetailsService

6.

Quel est le rôle principal de DelegatingFilterProxy ?

a)

Gérer les cookies de session JSESSIONID.

b)

Rediriger les exceptions vers les contrôleurs.

c)

Insérer Spring Security dans la chaîne de filtres du conteneur (Tomcat, etc.).

d)

Encoder les mots de passe avec BCrypt.

7.

Quel est l'ordre logique du flux d’authentification Basic Auth dans Spring Security ?

a)

Filter → Controller → Provider → SecurityContext

b)

AuthenticationProvider → Filter → Controller

c)

Client → BasicAuthenticationFilter → AuthenticationManager → AuthenticationProvider

d)

DispatcherServlet → PasswordEncoder → Provider

8.

Quel bean est indispensable pour activer Spring Security dans une configuration moderne (sans WebSecurityConfigurerAdapter) ?

a)

@Bean AuthenticationProvider

b)

@Bean SecurityFilterChain

c)

@Bean WebSecurityConfigurerAdapter

d)

@Bean DispatcherSecurity

9.

Quel est l'encodage utilisé dans l’en-tête HTTP Authorization pour Basic Auth ?

a)

SHA-256

b)

Base64

c)

BCrypt

d)

URL Encoding

10.

Comment les mots de passe doivent-ils être stockés côté backend ?

a)

En clair dans la base.

b)

Encodés en Base64.

c)

Hashés avec salage (ex : BCrypt).

d)

Compressés en GZIP.

11.

Quel PasswordEncoder est recommandé dans les applications modernes ?

a)

NoOpPasswordEncoder

b)

MD5PasswordEncoder

c)

BCryptPasswordEncoder

d)

Sha1PasswordEncoder

12.

Quel mécanisme protège contre la réutilisation d’une session volée (session fixation) ?

a)

CSRF

b)

Salage des mots de passe

c)

Protection contre la session fixation (renouvellement de session)

d)

Base64

13.

Pourquoi CSRF est-il désactivé par défaut dans une API REST pure (stateless) ?

a)

Parce que REST n’utilise pas (en général) les cookies de session du navigateur.

b)

Parce que POST n’existe pas en REST.

c)

Parce que Basic Auth le désactive automatiquement.

d)

Parce que Spring Security 6 ne supporte plus CSRF.

14.

CORS sert principalement à :

a)

Chiffrer les requêtes HTTP.

b)

Empêcher l’accès à la base de données.

c)

Autoriser ou bloquer des domaines externes à appeler l’API.

d)

Générer le cookie JSESSIONID.

15.

Quel filtre intercepte les identifiants (username/password) lors d’un Form Login classique ?

a)

BasicAuthenticationFilter

b)

UsernamePasswordAuthenticationFilter

c)

AuthorizationFilter

d)

SecurityContextPersistenceFilter

16.

Quelle affirmation décrit le mieux la différence entre Basic Auth et Form Login ?

a)

Basic Auth est stateful, Form Login est stateless.

b)

Les deux reposent sur des tokens JWT.

c)

Basic Auth est stateless, Form Login est stateful (session + JSESSIONID).

d)

Form Login ne fonctionne pas avec JSON.

17.

Quel composant orchestre la décision d’authentification en appelant les AuthenticationProvider ?

a)

AuthenticationProvider

b)

SecurityFilterChain

c)

AuthenticationManager (souvent ProviderManager)

d)

DispatcherServlet

18.

Quel composant charge un utilisateur à partir d’une base de données ou d’une autre source ?

a)

UserDetails

b)

UserDetailsService

c)

AuthenticationManager

d)

PasswordEncoder

19.

En Basic Auth, à quelle fréquence l’en-tête Authorization est-il envoyé par le client ?

a)

Une seule fois au login.

b)

À chaque requête protégée.

c)

Uniquement si la session expire.

d)

Uniquement lors des requêtes POST.

20.

Que valide principalement un AuthenticationProvider ?

a)

Le contrôleur REST ciblé.

b)

Le mot de passe et les informations de l’utilisateur (UserDetails).

c)

La structure de la requête HTTP.

d)

Le token JWT.

21.

Pourquoi une API REST doit-elle être sécurisée sérieusement ?

a)

Parce que les données transitent en JSON.

b)

Parce qu’elle est exposée publiquement et souvent attaquée de façon automatisée.

c)

Parce que Postman utilise Basic Auth.

d)

Parce qu’elle ne supporte pas HTTPS.

22.

Dans HttpSecurity, quelle méthode configure les règles d’autorisation sur les endpoints ?

a)

csrf()

b)

cors()

c)

authorizeHttpRequests()

d)

formLogin()

23.

Où commence réellement le pipeline de sécurité Spring Security lors d’une requête HTTP ?

a)

Dans un contrôleur @RestController.

b)

Dans le PasswordEncoder.

c)

Dans un filtre de la SecurityFilterChain.

d)

Dans la base de données.

24.

À quel mécanisme appartient le cookie JSESSIONID ?

a)

Basic Auth stateless.

b)

Form Login (authentification basée sur sessions).

c)

JWT stateless.

d)

OAuth2 avec access token.

25.

Dans Spring Security, que représente techniquement ROLE_ADMIN ?

a)

Un mot de passe administrateur.

b)

Une authority prefixed par 'ROLE_' (ex : 'ROLE_ADMIN').

c)

Un scope OAuth2.

d)

Un token chiffré côté client.

26.

Quel statut HTTP est renvoyé lorsqu’un utilisateur AUTHENTIFIÉ mais NON AUTORISÉ accède à une ressource ?

a)

200 OK

b)

302 Found

c)

401 Unauthorized

d)

403 Forbidden

27.

Parmi ces choix, quelle est une bonne pratique essentielle en sécurité des mots de passe ?

a)

Sauvegarder les mots de passe encodés en Base64.

b)

Désactiver BCrypt pour augmenter les performances.

c)

Ne jamais stocker de mot de passe en clair.

d)

Utiliser toujours NoOpPasswordEncoder.

28.

Que signifie le principe de « Defense in Depth » ?

a)

Utiliser un seul mécanisme de sécurité très fort.

b)

Appliquer plusieurs couches de sécurité complémentaires.

c)

Utiliser exclusivement HTTPS.

d)

Activer le mode debug de Spring Security.

29.

Quel composant applique réellement la logique d’autorisation sur les requêtes dans Spring Security moderne ?

a)

BasicAuthenticationFilter

b)

AuthorizationFilter

c)

ProviderManager

d)

DispatcherServlet

30.

Quel est le rôle de Base64 dans le mécanisme Basic Auth ?

a)

Chiffrer le mot de passe.

b)

Encoder la chaîne username:password pour la rendre transmissible dans un header HTTP.

c)

Hasher le mot de passe.

d)

Stocker les rôles utilisateur.

31.

Que produit l’encodage Base64 de la chaîne "username:password" ?

a)

Un hash unique non réversible.

b)

Une chaîne encodée réversible.

c)

Un cookie de session.

d)

Un token JWT signé.

32.

Pourquoi CSRF est-il activé par défaut pour le Form Login ?

a)

Parce que Form Login repose sur des sessions/cookies sujettes aux attaques CSRF.

b)

Parce qu'il envoie des tokens JWT.

c)

Parce que les navigateurs l’imposent.

d)

Parce que REST l’exige.

33.

Quel composant s’occupe de charger et sauvegarder le SecurityContext (dans la session pour un formLogin par exemple) ?

a)

SecurityContextPersistenceFilter

b)

BasicAuthenticationFilter

c)

UsernamePasswordAuthenticationFilter

d)

ExceptionTranslationFilter

34.

Quel est le rôle principal du PasswordEncoder dans Spring Security ?

a)

Signer les tokens JWT.

b)

Chiffrer la requête HTTP.

c)

Hasher les mots de passe (et vérifier les matches).

d)

Encoder les objets JSON.

35.

Que renvoie typiquement Spring Security si l’en-tête Basic Authorization est absent pour un endpoint protégé ?

a)

200 OK

b)

302 Found

c)

401 Unauthorized

d)

500 Internal Server Error

36.

CHOIX MULTIPLE Quel est le rôle du SecurityContextHolder ?

a)
  • Stocker les informations de l'utilisateur authentifié pour la requête en cours.

b)
  • Gérer la connexion à la base de données.

c)
  • Générer des certificats SSL.

d)
  • Remplacer le AuthenticationManager

37.

Quelle est la différence entre une "Authority" et un "Role" dans Spring Security ?

a)

Il n'y a aucune différence technique.

b)

Un rôle est une autorité dont le nom commence par le préfixe ROLE_.

c)

Une autorité est plus puissante qu'un rôle

d)

Les autorités sont pour le frontend, les rôles pour le backend.

38.

Quelle interface devez-vous implémenter pour personnaliser la manière dont les utilisateurs sont récupérés (ex: via une API externe ou une DB spécifique) ?

a)

AuthenticationProvider

b)

UserDetailsService

c)

PasswordEncoder

d)

AccessDecisionManager