TI274
Technologies de l'information

Spring Security : sécuriser vos applications Java de bout en bout

Maîtrisez l’authentification, les autorisations et la protection des API avec Spring


Dans un contexte d’architectures modernes (API REST, SPA, micro-services), la sécurité applicative est plus stratégique que jamais. Spring Security s’impose comme le framework de référence pour gérer l’authentification, les autorisations, et la protection contre les menaces courantes au sein de l’écosystème Spring Boot. Cette formation vous guide pas à pas à travers les concepts fondamentaux : identité et rôles, filtres de sécurité, attaques courantes (CSRF, XSS), et vous montre comment appliquer les bonnes pratiques pour combattre ces vulnérabilités. Vous apprendrez à sécuriser différents types d’applications (frontend MVC, API REST, clients JavaScript) en utilisant divers modes d’authentification (formulaire, session, JWT, OpenID Connect) et en appliquant une gestion fine des droits. Des ateliers concrets vous permettront de connecter l’application à une base d’utilisateurs, d’implémenter une stratégie adaptable selon le type de client, et de valider votre configuration par des tests automatisés via spring-security-test. Une formation clé pour tout développeur ou architecte souhaitant livrer des applications Java réellement sécurisées.

Objectif

Permettre aux développeurs et architectes de concevoir, mettre en œuvre et tester une stratégie de sécurité robuste dans une application Java basée sur Spring Boot, en maîtrisant les mécanismes d’authentification, d’autorisation et de protection contre les vulnérabilités courantes. Savoir adapter cette stratégie selon le type de client (web, SPA, API REST) et dans le cadre d’architectures distribuées (SSO, micro-services).

Est-ce pour vous ?

Développeurs et architectes.

Préalables

Ce cours demande une connaissance solide des bases de la programmation Java (principes de la programmation orientée objet, types génériques, annotations, expressions lambda), une habitude de travailler avec Eclipse ou IntelliJ.

Vos gains

  • Choisir un protocole d'authentification;
  • Apprécier les qualités d'un algorithme de hachage de mots de passe;
  • Protéger une application web contre les attaques CSRF;
  • Sécuriser une API REST avec JWT;
  • Coupler une application web à un serveur OpenID Connect;
  • Appliquer des règles d'autorisations;
  • Tester une application sécurisée.
  • Contenu

    Module 1 – Introduction

    • Les modes d'authentification: basic, formulaire de login, session, jeton, kerberos.
    • Présentation du bean SecurityFilterChain et des filtres qui le composent.
    • Les beans créés automatiquement par Spring Boot.
    • La représentation de l'identité de l'utilisateur: l'interface Principal.
    • Les attaques CSRF et XSS.
    Détails + / -

    Module 2 – La déclaration d'un référentiel d'utilisateurs

    • Les concepts: user, role, authority.
    • Les interfaces UserManager et GroupManager.
    • La déclaration d'un bean UserDetailsService pour répondre aux demandes d'authentification.
    • Le choix d'un algorithme de hachage des mots de passe.

    Mise en pratique: déclaration d'une base de données comme référentiel d'utilisateurs et de rôles.

    Module 3 – La sécurité par session

    • Les cookies comme moyens d'établir des sessions.
    • La protection contre les attaques XSS et CSRF.
    • Mise en place pour une API REST.
    • Mise en place pour une IHM MVC.
    • Stockage externalisé des informations de sessions pour rendre l'application stateless.

    Mise en pratique: activation de la sécurité par session sur un frontend Spring MVC, protection contre les attaques CSRF.

    Module 4 – La sécurité par jeton

    • Présentation du standard JWT.
    • Le bean JwtDecoder.
    • L'émission et la signature des jetons: clés symétriques ou asymétriques.
    • Couplage avec un serveur OpenID Connect.
    • Points sensibles: révocations, gestion des rôles.
    • Protection contre le vol des jetons par attaque XSS dans une single page application.
    • Le pattern 'token relay' dans une architecture micro-services.

    Mise en pratique: couplage de Spring avec un serveur OpenID Connect, application d'une stratégie de refus des jetons révoqués.

    Module 5 – Autorisations

    • Règles d'accès aux routes.
    • Règles d'accès aux méthodes.
    • Règles d'accès aux éléments d'une vue.

    Mise en pratique: sécurisation des routes d'une application web et des pages d'un frontend MVC.

    Module 6 – Les tests

    • Test d'une méthode ou une API en tant qu'un utilisateur authentifié.
    • Le rôle des SecurityMockMvcRequestPostProcessors.

    Mise en pratique: utilisation de spring-security-test pour tester l'application sécurisée précédemment.

    💡 Informations utiles

    Nos formations sont offertes à Montréal ou Québec en présentiel ou en format virtuel. Les dates et lieux sont précisés lors de votre choix de session ci-dessous. Si vous avez des questions concernant l'inscription, les horaires, la langue d’enseignement ou les modalités d’annulation, consultez notre FAQ .

    Intervenants

    Durée
    1 jour
    Horaire
    Voir les dates de formations pour plus de détails
    Tarif régulier
    625 $
    Tarif préférentiel Un tarif préférentiel est accordé pour chacun des cours aux organismes publics, aux membres de certaines associations ainsi qu’aux entreprises ayant une entente avec Technologia (voir FAQ). Pour la liste complète des entités admissibles, consulter la section « Tarification » des FAQ. Notez également qu’aucun tarif préférentiel n’est accordé pour les formations en ligne. Les rabais accordés sur les formations ne peuvent être cumulables avec aucune autre promotion.
    560 $
    Formation en entreprise

    Vous avez plusieurs employés intéressés par une même formation? Que ce soit en présentiel dans vos bureaux ou à distance en mode virtuel, nous offrons des formations privées adaptées aux besoins de votre équipe. Des tarifs de groupes sont disponibles. Contactez-nous pour plus de détails ou demandez une soumission en ligne.

    Demander une soumission

    Demander une formation en entreprise

    Vous avez plusieurs employés intéressés par une même formation? Que ce soit en présentiel dans vos bureaux ou à distance en mode virtuel, nous offrons des formations privées adaptées aux besoins de votre équipe. Des tarifs de groupes sont disponibles. Contactez-nous pour plus de détails ou demandez une soumission en ligne.

    Dites-nous en plus
    Ajout effectué Voir mon panier