Task 1.3 - Services de sécurité

- Création du JwtService pour la gestion des tokens JWT
- Création du PasswordService avec BCrypt pour le hachage sécurisé
- Création du SecurityService pour l'authentification et autorisation
- Création de l'EmailServiceSimple pour les notifications (version basique)
- Support complet de la hiérarchie des rôles GBCM
- Gestion des tentatives de connexion échouées et verrouillage de compte
- Génération de mots de passe sécurisés avec validation de complexité
- Compilation réussie de tous les services de sécurité
This commit is contained in:
dahoud
2025-10-06 20:23:05 +00:00
parent 9d8ce834e8
commit d812a4feef
5 changed files with 1205 additions and 4 deletions

View File

@@ -1,19 +1,30 @@
package com.gbcm.server.impl.entity;
import java.time.LocalDateTime;
import java.util.List;
import com.gbcm.server.api.enums.UserRole;
import io.quarkus.security.jpa.Password;
import io.quarkus.security.jpa.Roles;
import io.quarkus.security.jpa.UserDefinition;
import io.quarkus.security.jpa.Username;
import jakarta.persistence.*;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Index;
import jakarta.persistence.NamedQueries;
import jakarta.persistence.NamedQuery;
import jakarta.persistence.Table;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import java.util.List;
/**
* Entité représentant un utilisateur de la plateforme GBCM.
* Utilisée pour l'authentification et l'autorisation avec Quarkus Security.