
- Durée
- 3 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel / Distanciel
Description de la formation Spring Security
Spring Security est le sous-projet Spring dédié à la sécurité. Indépendant de JavaEE, il offre un environnement complet pour sécuriser tout type d’application Java : application web, back-end REST ou autre.

Objectifs pédagogiques
Objectifs pédagogiques :
À l'issue de cette formation Spring Security, vous aurez acquis les connaissances et compétences nécessaires pour :
- Maitriser les concepts de base de Spring Security
- Configurer Spring Security dans une application Java
- Mettre en place une authentification par session
- Gérer les rôles et autorisations de vos utilisateurs
- Personnaliser la configuration de Spring Security
- Intégrer des solutions d'authentification OAuth2 et JWT
- Appréhender les vulnérabilités de sécurité et configurer des filtres de protection
Objectifs opérationnels
Objectif opérationnel :
Savoir sécuriser une application Java en utilisant les bonnes pratiques de gestion d'authentification d'autorisation avec Spring Security.
Programme
Contenu du cours, module par module
10 modules
- Comprendre les avantages de Spring en Java
- Intégrer J2EE et le framework Spring Boot
- Comprendre le rôle et le fonctionnement des dépendances dans le cycle de vie d'une application
Travaux pratiques
Description : Initialisation du projet avec Spring Initializr
Création de controller basiques
- Comprendre le rôle de Spring Security (authentification, autorisation, sécurité)
- Appréhender l'architecture de Spring Security (Pare-feu HTTP, DelegatingFilterProxy, SecurityFilterChain)
Travaux pratiques
Description : Mise en place de la configuration nécessaire dans l'application
Création de la SecurityFilterChain
- Découvrir les différents mécanismes d'authentification
- Maitriser l'authentification par session
Travaux pratiques
Description : Mise en place d'une authentification simple par session de type username / password
Mise en place de filtres basiques dans la SecurityFilterChain selon le rôle de l'utilisateur
- Types de sécurisation, mécanismes des intercepteurs
- Beans impliqués : AccessDecisionManager, AccessDecisionVoter
- ACLs sur requêtes, expression d’URL
- ACLs sur la couche service : alternatives, syntaxe des expressions
Travaux pratiques
Description : Mise en place d'une base de données utilisateur
Attribution des autorisations selon le rôle de l'utilisateur grâce à un UserDetailService personnalisé
Configuration de l'AuthenticationManager
- Maîtriser la différence entre rôles et autorisations
- Gérer des rôles multiples
- Mettre en place une hiérarchie de rôle
- Utiliser les annotations pour gérer les autorisations
Travaux pratiques
Description : Mise en place de rôles multiples avec leurs autorisations propres
Création d'une hiérarchie de rôle
Utilisation des annotations pour la gestion des droits
- Utiliser les mécanismes de redirection
- Ajouter des pages personnalisées pour la gestion des erreurs courantes
- Comprendre l'utilisation d'une authentification par mémoire (RememberMe)
- Personnaliser les différents formats de chiffrement des mots de passe (PasswordEncoder)
Travaux pratiques
Description : Mise en place de redirection suite à la connexion ou déconnexion de l'utilisateur
Ajout d'une page personnalisée pour les erreurs type 403
Mise en place d'une authentification par mémoire (RememberMe) grâce aux cookies
Mise en place de la gestion de différents formats de chiffrement de mot de passe grâce au DelegatingPasswordEncorder (Bcrypt, No0p, Sha256)
- Revoir les méthodes de tests avec Spring
- Maitriser l'implémentation de test permettant de vérifier les droits d'accès des utilisateurs
Travaux pratiques
Description : Mise en place des tests selon les rôles et autorisations définies
- Comprendre le mécanisme d'authentification par token
- Appréhender OAuth2 Client pour bénéficier d'une connexion par un tiers
- Comprendre le fonctionnement d'OpenID Connect dans le partage des données utilisateur
Travaux pratiques
Description : Mise en place d'OAuth2 avec GitHub, Google et / ou Facebook
Manipulation d'OIDC pour récupérer les données utilisateurs classiques
- Comprendre la distinction entre Authorization Server et Ressource Server
- Appréhender le chiffrement d'un token
- Comprendre le flux d'une connexion par token (Basic Login)
Travaux pratiques
Description : Mise en place d'un serveur d'autorisation et d'un serveur de ressources
Configuration des serveurs
Gestion d'une clé JWT symétrique
- Appréhender les attaques web les plus communes (OWASP)
- Gérer les filtres CORS et CRSF dans Spring Security pour se prémunir
Travaux pratiques
Description : Configuration des filtres CORS et CRSF
Programme mis à jour le 03/10/2025
Public concerné
Ce cours s'adresse à tout développeur ou architecte logiciel souhaitant sécuriser efficacement des applications web développées avec Java. Elle est particulièrement adaptée aux développeurs désireux de maîtriser les mécanismes d'authentification et d'autorisation dans une architecture Spring, ainsi qu'aux ingénieurs en sécurité souhaitant intégrer des pratiques de sécurité robustes dans des projets Java.

Prérequis
Les participants à cette formation Spring Security doivent avoir une bonne maîtrise du langage Java ainsi qu'une expérience pratique dans le développement d'applications web. La formation ne prévoit pas de revenir sur les bases de la programmation Java.
Cependant, il n’est pas nécessaire d’avoir une connaissance approfondie en matière de sécurité des applications, car la formation introduit progressivement les concepts clés d'authentification et d'autorisation avant de les appliquer avec Spring Security.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4,4/5
10 avis
« Mon avis sur le formateur : "François est un très bon formateur, il est pédagogue et fait le nécessaire pour s'assurer que chacun des sujets soit assimilé. Il est à l'écoute du niveau et des problématique métier des participants et s'adapte à eux. J'aurais aimé qu'il ai d'avantage d'expérience concrète sur le sujet." Ce que j'ai le plus apprécié : "l'interactivité de la formation, la disponibilité de François à répondre à toutes les questions et creuser les points plus complexes." Ce que j'ai le moins apprécié : "Un peu plus rapide sur la théorie, plus de temps sur des TP plus poussés" »
PADOXALLIA « Mon avis sur le contenu du stage : "La formation est très bien et a répondu à mon besoin numéro 1 qui était de mieux comprendre la mécanique interne de Spring Security. Seul point noir, les exercices sont pas mal trop facile et souvent se limitent à du copié collé. Cela permet tout de même de tester des fonctionnalité par soit même et d'explorer des mécaniques, donc de mieux comprendre comment tout ça fonctionne" Mon avis sur le formateur : "Top" Ce que j'ai le plus apprécié : "Les échanges avec le formateur" Ce que j'ai le moins apprécié : "Les exercices en mode "copié collé"" »
LPMAIF « Mon avis sur le contenu du stage : "Support de cours et travaux pratiques très fournis. Solutions et exemples de code présents au cas où on décroche ou on prend du retard, ce qui est un plus" Mon avis sur le formateur : "Bon tempo dans la présentation, ni trop vite ni trop lent et animateur à l'écoute" Mon avis sur la salle de formation : "À distance" »
SV
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- WildFly (Ex JBoss) : AdministrationRéf. WLDL3 joursIntermédiaireProchaine session : 22 déc.2 090 €
- Actualisation de Java 11 à Java 17Réf. JN1172 joursFondamentalProchaine session : 12 oct.1 590 €
- Actualisation de Java 11 à Java 21Réf. JN11213 joursIntermédiaireProchaine session : 12 oct.2 090 €
- Actualisation de Java 18 à Java 21Réf. JN18211 jourIntermédiaireProchaine session : 14 oct.950 €