0% ont trouvé ce document utile (0 vote)
58 vues12 pages

Sécurisation des mots de passe JEE avec Spring

Ce document présente le développement d'applications JEE en utilisant les frameworks Maven et Spring Security, en mettant l'accent sur la sécurisation des mots de passe. Il décrit les étapes nécessaires pour intégrer Spring Security dans un projet Maven, y compris la configuration des dépendances et la méthode de cryptage des mots de passe avec l'algorithme BCrypt. Enfin, il explique comment vérifier les mots de passe lors de la connexion d'un utilisateur en utilisant Hibernate.

Transféré par

Andil mchangama
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
58 vues12 pages

Sécurisation des mots de passe JEE avec Spring

Ce document présente le développement d'applications JEE en utilisant les frameworks Maven et Spring Security, en mettant l'accent sur la sécurisation des mots de passe. Il décrit les étapes nécessaires pour intégrer Spring Security dans un projet Maven, y compris la configuration des dépendances et la méthode de cryptage des mots de passe avec l'algorithme BCrypt. Enfin, il explique comment vérifier les mots de passe lors de la connexion d'un utilisateur en utilisant Hibernate.

Transféré par

Andil mchangama
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Développement en JEE avec les Frameworks:

MAVEN + Spring Security

Janvier 2020

Dr. J NDONG 1
Architecture Logicielle

Présentation:
Métier DAO
framework MVC 2 Contrôleur (aiguillage)
Gestion aux données

- modèles
(POJOs)
- PrimeFaces Servlet - JavaBeans
(JSF ) fournie Spring (sessions)
par le framework:
Security Hibernate
FacesServlet Spring IOC

Données

2
Objectifs de Spring Security

Spring est un framework qui intervient dans tous les tiers d’une application. En particulier
il contient un module nommé Spring Security permettant de résoudre certains aspects liés
à la sécurité de votre application.

3
Sécuriser les mots de passe dans une base de données
Je montre comment sécuriser (crypter les mots de passe dans une application JEE). On utilise
Spring Security pour résoudre ce problème.

On suppose qu’on utilise un framework ORM de persistance tel que Hibernate.

Vous créer un Project sous Maven.

Je suppose que vous avez déjà une classe Personne ayant un champ motpasse de type String.

4
Méthode de Sécurisation des mots de passe

La méthode de sécurisation des mots par Spring est basé sur l’algorithm de
Bruce Schneier Blowfish cipher.

5
Dépendances Maven : rechercher les dépendances dans MVNrepository

Vous avez besoin de 2 dépendances Spring Security Core et Spring Security Config

Spring Security Core

6
7
Copier cette dépendance dans votre [Link].
8
Dépendances Maven ([Link])

<!-- [Link] -->


<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-security-core</artifactId>
<version>[Link]</version>
</dependency>
<!-- [Link] -->
<dependency>
<groupId>[Link]</groupId>
<artifactId>spring-security-config</artifactId>
<version>[Link]</version>
</dependency>

9
Ce qu’il faut dans le projet…
Il faut créer la classe qui crypte les données. Ici on veut crypter le champ motPasse de la classe
Personne.
package [Link];
import [Link];
import [Link];
public class RealEncryption {
private Personne pers;
public RealEncryption(Personne pers){
[Link]=pers;
}
public void docry() {
class Crypt {
private void mypasscrypt() {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder ();
String hashedPassword = [Link] ([Link] ( ));
[Link] (hashedPassword);
}
}
new Crypt ( ) .mypasscrypt ( );} 10
}
Pour tester …

Personne p =(Personne) getContext ( ).getBean("pers"); // usage de Spring IOC

[Link]("mot de passe a crypter dans la base de données");

new RealEncryption(p).docry(); // Spring security pour le cryptage effectif

new PersonneHome().persist(p); // Hibernate pour enregistrer dans la BD

11
Comment tester le mot de passe à la connexion d’un utilisateur

Les mots de passe étant cryptés dans la base, lorsqu’un utilisateur se connecte sur
l’application, il faut vérifier si le mot de passe fourni en clair correspond bien à celui
qui est dans la base mais crypté. Il suffit de faire:

Avec le login de l’utilisateur, on peut effectuer une requete Hibernate


pour récupérer une instance de cette utilisateur:

Personne pers = [Link](login); //par Hibernate


et si pwd est le mot de passe en clair lors de la tentative de connexion,
on fait le test suivant pour voir si le mot de passe est correct:
if ([Link] (pwd,[Link]()))
{//code }
12
Avec l’importation import [Link];

Vous aimerez peut-être aussi