
Sécurité printanière en action
Description
Introduction au livre
Le guide essentiel de Spring Security, recommandé à tous les développeurs Spring !
La sécurité est un facteur non négociable et essentiel.
Spring Security vous permet de développer des applications qui transmettent des données en toute sécurité, valident les identifiants et préviennent les attaques.
Le respect du principe de « sécurité dès la conception » permet de protéger votre réseau contre le vol de données et les intrusions non autorisées.
Dans Spring Security in Action, vous apprendrez comment prévenir les attaques de type cross-site scripting et request forgery avant qu'elles ne causent des dommages.
Il commence par des notions de base comme la simulation de mises à jour de mots de passe et l'ajout de plusieurs types d'autorisation, et se termine par des sujets plus avancés comme l'application de Spring Security à de nouvelles architectures et la rédaction de configurations OAuth2 avancées.
À la fin de ce livre, vous serez capable de créer des configurations Spring Security personnalisées qui protègent contre les menaces courantes et critiques.
La sécurité est un facteur non négociable et essentiel.
Spring Security vous permet de développer des applications qui transmettent des données en toute sécurité, valident les identifiants et préviennent les attaques.
Le respect du principe de « sécurité dès la conception » permet de protéger votre réseau contre le vol de données et les intrusions non autorisées.
Dans Spring Security in Action, vous apprendrez comment prévenir les attaques de type cross-site scripting et request forgery avant qu'elles ne causent des dommages.
Il commence par des notions de base comme la simulation de mises à jour de mots de passe et l'ajout de plusieurs types d'autorisation, et se termine par des sujets plus avancés comme l'application de Spring Security à de nouvelles architectures et la rédaction de configurations OAuth2 avancées.
À la fin de ce livre, vous serez capable de créer des configurations Spring Security personnalisées qui protègent contre les menaces courantes et critiques.
- Vous pouvez consulter un aperçu du contenu du livre.
Aperçu
indice
[Partie 1] Première étape
▣ Chapitre 1 : La sécurité d'aujourd'hui
1.1 Sécurité du printemps : concepts et avantages
1.2 Qu'est-ce que la sécurité logicielle ?
1.3 Pourquoi la sécurité est-elle importante ?
1.4 Vulnérabilités de sécurité courantes dans les applications Web
__1.4.1 Vulnérabilités liées à l'authentification et à l'autorisation
__1.4.2 Qu'est-ce que la persistance de session ?
__1.4.3 Qu'est-ce que le XSS (Cross-Site Scripting) ?
__1.4.4 Qu'est-ce que la CSRF (Cross-Site Request Forgery) ?
1.4.5 Comprendre les vulnérabilités d'injection dans les applications Web
1.4.6 Gestion de l'exposition des données sensibles
__1.4.7 Qu'est-ce que le manque de contrôle d'accès aux méthodes ?
__1.4.8 Exploitation d'une dépendance présentant une vulnérabilité connue
1.5 Sécurité appliquée à diverses architectures
1.5.1 Conception d'une application Web tout-en-un
1.5.2 Conception de sécurité pour la séparation du backend et du frontend
1.5.3 Comprendre le flux OAuth 2
1.5.4 Sécurisation des requêtes à l'aide de clés API, de signatures cryptographiques et de la vérification de l'adresse IP
1.6 Ce que vous apprendrez dans ce livre
addition
▣ Chapitre 2 : Bonjour ! Sécurité du printemps
2.1 Démarrer votre premier projet
2.2 Quelle est la configuration de base ?
2.3 Redéfinition de la configuration de base
__2.3.1 Remplacement du composant UserDetailsService
__2.3.2 Remplacement de la configuration d'autorisation du point de terminaison
__2.3.3 Configuration d'autres manières
__2.3.4 Surcharge de l'implémentation du fournisseur d'authentification
__2.3.5 Utilisation de plusieurs classes de configuration dans un projet
addition
[Partie 2] Mise en œuvre
▣ Chapitre 3 : Gestion des utilisateurs
3.1 Implémentation de l'authentification dans Spring Security
3.2 Description de l'utilisateur
3.2.1 Comprendre la définition du contrat UserDetails
3.2.2 Examen du contrat d'autorisation accordée
__3.2.3 Écriture d'une implémentation minimale de UserDetails
__3.2.4 Création d'une instance du type UserDetails à l'aide d'un générateur
3.2.5 Combinaison de plusieurs responsabilités liées à l'utilisateur
3.3 Spécification de la manière dont Spring Security gère les utilisateurs
3.3.1 Comprendre le contrat de service UserDetails
3.3.2 Mise en œuvre du contrat UserDetailsService
3.3.3 Mise en œuvre du contrat UserDetailsManager
addition
▣ Chapitre 4 : Traitement des mots de passe
4.1 Comprendre le contrat PasswordEncoder
4.1.1 Définition du contrat PasswordEncoder
4.1.2 Mise en œuvre du contrat PasswordEncoder
4.1.3 Sélection d'une implémentation fournie de PasswordEncoder
4.1.4 Stratégies d'encodage multiples utilisant DelegatingPasswordEncoder
4.2 Informations complémentaires concernant le module de chiffrement Spring Security
4.2.1 Utilisation du générateur de clés
4.2.2 Utilisation d'une machine cryptographique pour le chiffrement et le déchiffrement
addition
▣ Chapitre 5 : Mise en œuvre de l’authentification
5.1 Comprendre le fournisseur d'authentification
5.1.1 Affichage des requêtes pendant le processus d'authentification
5.1.2 Mise en œuvre d'une logique d'authentification personnalisée
5.1.3 Application d'une logique d'authentification personnalisée
5.2 Utilisation du contexte de sécurité
5.2.1 Utilisation d'une stratégie de rétention pour le contexte de sécurité
5.2.2 Utilisation d'une stratégie de rétention pour les appels asynchrones
5.2.3 Utilisation d'une stratégie de rétention pour les applications autonomes
__5.2.4 Transmission du contexte de sécurité avec DelegatingSecurityContextRunnable
__5.2.5 Délégation du service SecurityContextExecutor
Transmission du contexte de sécurité
5.3 Comprendre l'authentification HTTP de base et l'authentification de connexion par formulaire
5.3.1 Utilisation et configuration de base du protocole HTTP
5.3.2 Mise en œuvre de l'authentification par formulaire
addition
▣ Chapitre 6 : Exercices pratiques – Applications Web légères et sécurisées
6.1 Exigences et paramètres du projet
6.2 Mise en œuvre de la gestion des utilisateurs
6.3 Mise en œuvre d'une logique d'authentification personnalisée
6.4 Mise en œuvre de la page principale
6.5 Exécution et test de l'application
addition
▣ Chapitre 7 : Configuration de l’autorisation – Restrictions d’accès
7.1 Restriction de l'accès en fonction des autorisations et des rôles
7.1.1 Restreindre l'accès à tous les points de terminaison en fonction des autorisations de l'utilisateur
7.1.2 Restreindre l'accès à tous les points de terminaison en fonction des rôles des utilisateurs
__7.1.3 Restreindre l'accès à tous les points de terminaison
addition
▣ Chapitre 8 : Configuration de l’autorisation – Application des restrictions
8.1 Sélection des points de terminaison à l'aide de méthodes de sélection
8.2 Sélection des requêtes à autoriser avec les sélecteurs MVC
8.3 Sélection des requêtes à autoriser avec le sélecteur Ant
8.4 Sélection des requêtes à autoriser à l'aide de sélecteurs d'expressions régulières
addition
▣ Chapitre 9 : Implémentation des filtres
9.1 Implémentation des filtres dans l'architecture Spring Security
9.2 Ajout d'un filtre avant un filtre existant dans la chaîne
9.3 Ajout d'un filtre après un filtre existant dans une chaîne
9.4 Ajout de filtres à d'autres positions de filtre dans la chaîne de filtres
9.5 Implémentation des filtres fournis par Spring Security
addition
▣ Chapitre 10 : Protection contre les attaques CSRF et mise en œuvre de CORS
10.1 Application de la protection contre la falsification de requêtes intersites (CSRF) à votre application
10.1.1 Fonctionnement de la protection CSRF de Spring Security
10.1.2 Utilisation de la protection CSRF dans des scénarios réels
__10.1.3 Personnalisation de la protection CSRF
10.2 Utilisation de CORS (Cross-Origin Resource Sharing)
10.2.1 Fonctionnement de CORS
__10.2.2 Application de la politique CORS avec l'annotation @CrossOrigin
10.2.3 Application de CORS avec CorsConfigurer
addition
▣ Chapitre 11 : Pratique - Séparation des responsabilités
11.1 Exemple de scénario et exigences
11.2 Mise en œuvre et utilisation des jetons
__11.2.1 Qu'est-ce qu'un jeton ?
__11.2.2 Qu'est-ce qu'un jeton Web JSON ?
11.3 Mise en œuvre d'un serveur d'authentification
11.4 Mise en œuvre d'un serveur de logique métier
__11.4.1 Implémentation de l'objet d'authentification
__11.4.2 Implémentation du proxy pour le serveur d'authentification
__11.4.3 Implémentation de l'interface AuthenticationProvider
__11.4.4 Implémentation du filtre
__11.4.5 Création d'une configuration de sécurité
__11.4.6 Test complet du système
addition
▣ Chapitre 12 : Fonctionnement d’OAuth 2
12.1 Cadre OAuth 2
12.2 Composants de l'architecture d'authentification OAuth 2
12.3 Choisir comment implémenter OAuth 2
12.3.1 Mise en œuvre du type d'autorisation de code
__12.3.2 Mise en œuvre du type d'autorisation par mot de passe
__12.3.3 Mise en œuvre du type d'autorisation « Informations d'identification du client »
12.3.4 Obtention d'un nouveau jeton d'accès avec un jeton d'actualisation
12.4 Vulnérabilités dans OAuth 2
12.5 Mise en œuvre d'une application d'authentification unique simple
__12.5.1 Gestion du serveur d'autorisation
__12.5.2 Début de la mise en œuvre
__12.5.3 Mise en œuvre de l'enregistrement du client
__12.5.4 Mise en œuvre de ClientRegistrationRepository
__12.5.5 La magie pure de la configuration de Spring Boot
__12.5.6 Obtention des informations d'un utilisateur authentifié
__12.5.7 Tests d'application
addition
▣ Chapitre 13 : OAuth 2 - Mise en œuvre d'un serveur d'autorisation
13.1 Écriture d'une implémentation de serveur d'autorisation personnalisée
13.2 Définition de la gestion des utilisateurs
13.3 Enregistrement d'un client auprès du serveur d'autorisation
13.4 Utilisation du type d'autorisation par mot de passe
13.5 Utilisation du type de subvention du code d'approbation
13.6 Utilisation du type d'autorisation « Informations d'identification du client »
13.7 Utilisation du type d'octroi de jeton de renouvellement
addition
▣ Chapitre 14 : OAuth 2 - Implémentation d'un serveur de ressources
14.1 Mise en œuvre d'un serveur de ressources
14.2 Vérification à distance des jetons
14.3 Implémentation des références de base de données avec JdbcTokenStore
Une simple comparaison des méthodes 14.4
addition
▣ Chapitre 15 OAuth 2 - Utilisation de JWT et des signatures cryptographiques
15.1 Utilisation de jetons signés avec une clé symétrique dans JWT
15.1.1 Utilisation de JWT
15.1.2 Mise en œuvre d'un serveur d'autorisation qui émet des JWT
__15.1.3 Mise en œuvre d'un serveur de ressources utilisant JWT
15.2 Utilisation de jetons signés avec des clés asymétriques à l'aide de JWT
__15.2.1 Génération d'une paire de clés
15.2.2 Configuration d'un serveur d'autorisation à l'aide d'une clé secrète
__15.2.3 Mise en œuvre d'un serveur de ressources utilisant des clés publiques
15.2.4 Utilisation d'un point de terminaison exposant une clé publique
15.3 Ajout de détails personnalisés à un JWT
15.3.1 Configuration du serveur d'autorisation pour ajouter des détails personnalisés au jeton
15.3.2 Configuration du serveur de ressources pour lire les détails personnalisés d'un JWT
addition
▣ Chapitre 16 : Sécurité globale des méthodes – Avant et après l’autorisation
16.1 Activation de la sécurité globale des méthodes
__16.1.1 Comprendre l'autorisation d'appel
__16.1.2 Activation de la sécurité globale des méthodes dans un projet
16.2 Application de la préautorisation aux permissions et aux rôles
16.3 Demande post-autorisation
Mise en œuvre des autorisations pour la méthode 16.4
addition
▣ Chapitre 17 : Sécurité globale des méthodes – Pré- et post-filtrage
17.1 Application du préfiltrage pour l'autorisation de méthode
17.2 Application du post-filtrage pour l'autorisation de méthode
17.3 Utilisation du filtrage dans les référentiels de données Spring
addition
▣ Chapitre 18 : Exercices pratiques – Application OAuth 2
18.1 Scénarios d'application
18.2 Configuration de Keycloak en tant que serveur d'autorisation
18.2.1 Enregistrement d'un client dans le système
18.2.2 Définition du périmètre client
18.2.3 Ajout d'un utilisateur et obtention d'un jeton d'accès
__18.2.4 Définition des rôles des utilisateurs
18.3 Mise en œuvre d'un serveur de ressources
18.4 Tests d'application
18.4.1 Preuve que les utilisateurs ne peuvent ajouter que leurs propres enregistrements
18.4.2 Prouver que les utilisateurs ne peuvent récupérer que leurs propres enregistrements
18.4.3 Vérifier que seuls les administrateurs peuvent supprimer des enregistrements
addition
▣ Chapitre 19 : Spring Security pour les applications réactives
19.1 Qu'est-ce qu'une application réactive ?
19.2 Gestion des utilisateurs dans les applications réactives
19.3 Configuration des règles d'autorisation dans les applications réactives
__19.3.1 Application de l'autorisation à la couche de point de terminaison d'une application réactive
__19.3.2 Application de la sécurité des méthodes aux applications réactives
19.4 Applications réactives et OAuth 2
addition
▣ Chapitre 20 : Tests de sécurité Spring
20.1 Tests avec des utilisateurs fictifs
20.2 Test en tant qu'utilisateur du service UserDetailsService
20.3 Tests avec des objets d'authentification personnalisés
20.4 Tests de sécurité de la méthode
Test de certification 20.5
20.6 Test de la configuration CSRF
20.7 Test de la configuration CORS
20.8 Test d'une implémentation réactive de Spring Security
addition
▣ Annexe A : Création d’un projet Spring Boot
A.1 Création d'un projet avec start.spring.io
A.2 Création d'un projet avec STS (Spring Tool Suite)
▣ Chapitre 1 : La sécurité d'aujourd'hui
1.1 Sécurité du printemps : concepts et avantages
1.2 Qu'est-ce que la sécurité logicielle ?
1.3 Pourquoi la sécurité est-elle importante ?
1.4 Vulnérabilités de sécurité courantes dans les applications Web
__1.4.1 Vulnérabilités liées à l'authentification et à l'autorisation
__1.4.2 Qu'est-ce que la persistance de session ?
__1.4.3 Qu'est-ce que le XSS (Cross-Site Scripting) ?
__1.4.4 Qu'est-ce que la CSRF (Cross-Site Request Forgery) ?
1.4.5 Comprendre les vulnérabilités d'injection dans les applications Web
1.4.6 Gestion de l'exposition des données sensibles
__1.4.7 Qu'est-ce que le manque de contrôle d'accès aux méthodes ?
__1.4.8 Exploitation d'une dépendance présentant une vulnérabilité connue
1.5 Sécurité appliquée à diverses architectures
1.5.1 Conception d'une application Web tout-en-un
1.5.2 Conception de sécurité pour la séparation du backend et du frontend
1.5.3 Comprendre le flux OAuth 2
1.5.4 Sécurisation des requêtes à l'aide de clés API, de signatures cryptographiques et de la vérification de l'adresse IP
1.6 Ce que vous apprendrez dans ce livre
addition
▣ Chapitre 2 : Bonjour ! Sécurité du printemps
2.1 Démarrer votre premier projet
2.2 Quelle est la configuration de base ?
2.3 Redéfinition de la configuration de base
__2.3.1 Remplacement du composant UserDetailsService
__2.3.2 Remplacement de la configuration d'autorisation du point de terminaison
__2.3.3 Configuration d'autres manières
__2.3.4 Surcharge de l'implémentation du fournisseur d'authentification
__2.3.5 Utilisation de plusieurs classes de configuration dans un projet
addition
[Partie 2] Mise en œuvre
▣ Chapitre 3 : Gestion des utilisateurs
3.1 Implémentation de l'authentification dans Spring Security
3.2 Description de l'utilisateur
3.2.1 Comprendre la définition du contrat UserDetails
3.2.2 Examen du contrat d'autorisation accordée
__3.2.3 Écriture d'une implémentation minimale de UserDetails
__3.2.4 Création d'une instance du type UserDetails à l'aide d'un générateur
3.2.5 Combinaison de plusieurs responsabilités liées à l'utilisateur
3.3 Spécification de la manière dont Spring Security gère les utilisateurs
3.3.1 Comprendre le contrat de service UserDetails
3.3.2 Mise en œuvre du contrat UserDetailsService
3.3.3 Mise en œuvre du contrat UserDetailsManager
addition
▣ Chapitre 4 : Traitement des mots de passe
4.1 Comprendre le contrat PasswordEncoder
4.1.1 Définition du contrat PasswordEncoder
4.1.2 Mise en œuvre du contrat PasswordEncoder
4.1.3 Sélection d'une implémentation fournie de PasswordEncoder
4.1.4 Stratégies d'encodage multiples utilisant DelegatingPasswordEncoder
4.2 Informations complémentaires concernant le module de chiffrement Spring Security
4.2.1 Utilisation du générateur de clés
4.2.2 Utilisation d'une machine cryptographique pour le chiffrement et le déchiffrement
addition
▣ Chapitre 5 : Mise en œuvre de l’authentification
5.1 Comprendre le fournisseur d'authentification
5.1.1 Affichage des requêtes pendant le processus d'authentification
5.1.2 Mise en œuvre d'une logique d'authentification personnalisée
5.1.3 Application d'une logique d'authentification personnalisée
5.2 Utilisation du contexte de sécurité
5.2.1 Utilisation d'une stratégie de rétention pour le contexte de sécurité
5.2.2 Utilisation d'une stratégie de rétention pour les appels asynchrones
5.2.3 Utilisation d'une stratégie de rétention pour les applications autonomes
__5.2.4 Transmission du contexte de sécurité avec DelegatingSecurityContextRunnable
__5.2.5 Délégation du service SecurityContextExecutor
Transmission du contexte de sécurité
5.3 Comprendre l'authentification HTTP de base et l'authentification de connexion par formulaire
5.3.1 Utilisation et configuration de base du protocole HTTP
5.3.2 Mise en œuvre de l'authentification par formulaire
addition
▣ Chapitre 6 : Exercices pratiques – Applications Web légères et sécurisées
6.1 Exigences et paramètres du projet
6.2 Mise en œuvre de la gestion des utilisateurs
6.3 Mise en œuvre d'une logique d'authentification personnalisée
6.4 Mise en œuvre de la page principale
6.5 Exécution et test de l'application
addition
▣ Chapitre 7 : Configuration de l’autorisation – Restrictions d’accès
7.1 Restriction de l'accès en fonction des autorisations et des rôles
7.1.1 Restreindre l'accès à tous les points de terminaison en fonction des autorisations de l'utilisateur
7.1.2 Restreindre l'accès à tous les points de terminaison en fonction des rôles des utilisateurs
__7.1.3 Restreindre l'accès à tous les points de terminaison
addition
▣ Chapitre 8 : Configuration de l’autorisation – Application des restrictions
8.1 Sélection des points de terminaison à l'aide de méthodes de sélection
8.2 Sélection des requêtes à autoriser avec les sélecteurs MVC
8.3 Sélection des requêtes à autoriser avec le sélecteur Ant
8.4 Sélection des requêtes à autoriser à l'aide de sélecteurs d'expressions régulières
addition
▣ Chapitre 9 : Implémentation des filtres
9.1 Implémentation des filtres dans l'architecture Spring Security
9.2 Ajout d'un filtre avant un filtre existant dans la chaîne
9.3 Ajout d'un filtre après un filtre existant dans une chaîne
9.4 Ajout de filtres à d'autres positions de filtre dans la chaîne de filtres
9.5 Implémentation des filtres fournis par Spring Security
addition
▣ Chapitre 10 : Protection contre les attaques CSRF et mise en œuvre de CORS
10.1 Application de la protection contre la falsification de requêtes intersites (CSRF) à votre application
10.1.1 Fonctionnement de la protection CSRF de Spring Security
10.1.2 Utilisation de la protection CSRF dans des scénarios réels
__10.1.3 Personnalisation de la protection CSRF
10.2 Utilisation de CORS (Cross-Origin Resource Sharing)
10.2.1 Fonctionnement de CORS
__10.2.2 Application de la politique CORS avec l'annotation @CrossOrigin
10.2.3 Application de CORS avec CorsConfigurer
addition
▣ Chapitre 11 : Pratique - Séparation des responsabilités
11.1 Exemple de scénario et exigences
11.2 Mise en œuvre et utilisation des jetons
__11.2.1 Qu'est-ce qu'un jeton ?
__11.2.2 Qu'est-ce qu'un jeton Web JSON ?
11.3 Mise en œuvre d'un serveur d'authentification
11.4 Mise en œuvre d'un serveur de logique métier
__11.4.1 Implémentation de l'objet d'authentification
__11.4.2 Implémentation du proxy pour le serveur d'authentification
__11.4.3 Implémentation de l'interface AuthenticationProvider
__11.4.4 Implémentation du filtre
__11.4.5 Création d'une configuration de sécurité
__11.4.6 Test complet du système
addition
▣ Chapitre 12 : Fonctionnement d’OAuth 2
12.1 Cadre OAuth 2
12.2 Composants de l'architecture d'authentification OAuth 2
12.3 Choisir comment implémenter OAuth 2
12.3.1 Mise en œuvre du type d'autorisation de code
__12.3.2 Mise en œuvre du type d'autorisation par mot de passe
__12.3.3 Mise en œuvre du type d'autorisation « Informations d'identification du client »
12.3.4 Obtention d'un nouveau jeton d'accès avec un jeton d'actualisation
12.4 Vulnérabilités dans OAuth 2
12.5 Mise en œuvre d'une application d'authentification unique simple
__12.5.1 Gestion du serveur d'autorisation
__12.5.2 Début de la mise en œuvre
__12.5.3 Mise en œuvre de l'enregistrement du client
__12.5.4 Mise en œuvre de ClientRegistrationRepository
__12.5.5 La magie pure de la configuration de Spring Boot
__12.5.6 Obtention des informations d'un utilisateur authentifié
__12.5.7 Tests d'application
addition
▣ Chapitre 13 : OAuth 2 - Mise en œuvre d'un serveur d'autorisation
13.1 Écriture d'une implémentation de serveur d'autorisation personnalisée
13.2 Définition de la gestion des utilisateurs
13.3 Enregistrement d'un client auprès du serveur d'autorisation
13.4 Utilisation du type d'autorisation par mot de passe
13.5 Utilisation du type de subvention du code d'approbation
13.6 Utilisation du type d'autorisation « Informations d'identification du client »
13.7 Utilisation du type d'octroi de jeton de renouvellement
addition
▣ Chapitre 14 : OAuth 2 - Implémentation d'un serveur de ressources
14.1 Mise en œuvre d'un serveur de ressources
14.2 Vérification à distance des jetons
14.3 Implémentation des références de base de données avec JdbcTokenStore
Une simple comparaison des méthodes 14.4
addition
▣ Chapitre 15 OAuth 2 - Utilisation de JWT et des signatures cryptographiques
15.1 Utilisation de jetons signés avec une clé symétrique dans JWT
15.1.1 Utilisation de JWT
15.1.2 Mise en œuvre d'un serveur d'autorisation qui émet des JWT
__15.1.3 Mise en œuvre d'un serveur de ressources utilisant JWT
15.2 Utilisation de jetons signés avec des clés asymétriques à l'aide de JWT
__15.2.1 Génération d'une paire de clés
15.2.2 Configuration d'un serveur d'autorisation à l'aide d'une clé secrète
__15.2.3 Mise en œuvre d'un serveur de ressources utilisant des clés publiques
15.2.4 Utilisation d'un point de terminaison exposant une clé publique
15.3 Ajout de détails personnalisés à un JWT
15.3.1 Configuration du serveur d'autorisation pour ajouter des détails personnalisés au jeton
15.3.2 Configuration du serveur de ressources pour lire les détails personnalisés d'un JWT
addition
▣ Chapitre 16 : Sécurité globale des méthodes – Avant et après l’autorisation
16.1 Activation de la sécurité globale des méthodes
__16.1.1 Comprendre l'autorisation d'appel
__16.1.2 Activation de la sécurité globale des méthodes dans un projet
16.2 Application de la préautorisation aux permissions et aux rôles
16.3 Demande post-autorisation
Mise en œuvre des autorisations pour la méthode 16.4
addition
▣ Chapitre 17 : Sécurité globale des méthodes – Pré- et post-filtrage
17.1 Application du préfiltrage pour l'autorisation de méthode
17.2 Application du post-filtrage pour l'autorisation de méthode
17.3 Utilisation du filtrage dans les référentiels de données Spring
addition
▣ Chapitre 18 : Exercices pratiques – Application OAuth 2
18.1 Scénarios d'application
18.2 Configuration de Keycloak en tant que serveur d'autorisation
18.2.1 Enregistrement d'un client dans le système
18.2.2 Définition du périmètre client
18.2.3 Ajout d'un utilisateur et obtention d'un jeton d'accès
__18.2.4 Définition des rôles des utilisateurs
18.3 Mise en œuvre d'un serveur de ressources
18.4 Tests d'application
18.4.1 Preuve que les utilisateurs ne peuvent ajouter que leurs propres enregistrements
18.4.2 Prouver que les utilisateurs ne peuvent récupérer que leurs propres enregistrements
18.4.3 Vérifier que seuls les administrateurs peuvent supprimer des enregistrements
addition
▣ Chapitre 19 : Spring Security pour les applications réactives
19.1 Qu'est-ce qu'une application réactive ?
19.2 Gestion des utilisateurs dans les applications réactives
19.3 Configuration des règles d'autorisation dans les applications réactives
__19.3.1 Application de l'autorisation à la couche de point de terminaison d'une application réactive
__19.3.2 Application de la sécurité des méthodes aux applications réactives
19.4 Applications réactives et OAuth 2
addition
▣ Chapitre 20 : Tests de sécurité Spring
20.1 Tests avec des utilisateurs fictifs
20.2 Test en tant qu'utilisateur du service UserDetailsService
20.3 Tests avec des objets d'authentification personnalisés
20.4 Tests de sécurité de la méthode
Test de certification 20.5
20.6 Test de la configuration CSRF
20.7 Test de la configuration CORS
20.8 Test d'une implémentation réactive de Spring Security
addition
▣ Annexe A : Création d’un projet Spring Boot
A.1 Création d'un projet avec start.spring.io
A.2 Création d'un projet avec STS (Spring Tool Suite)
Image détaillée

Avis de l'éditeur
★ Ce que ce livre aborde ★
◎ Chiffrement des mots de passe et authentification des utilisateurs
◎ Protection des terminaux
◎ Automatisation des tests de sécurité
◎ Mise en place d'un serveur d'autorisation autonome
◎ Chiffrement des mots de passe et authentification des utilisateurs
◎ Protection des terminaux
◎ Automatisation des tests de sécurité
◎ Mise en place d'un serveur d'autorisation autonome
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 31 août 2022
Nombre de pages, poids, dimensions : 612 pages | 188 × 240 × 25 mm
- ISBN13 : 9791158393519
- ISBN10 : 1158393512
Vous aimerez peut-être aussi
카테고리
Langue coréenne
Langue coréenne