diff --git a/VeraxShield/VeraxShield/composants/affichages/utilisateurs/DatagridUtilisateurs.razor b/VeraxShield/VeraxShield/composants/affichages/utilisateurs/DatagridUtilisateurs.razor
index 484a70c..929d2c5 100644
--- a/VeraxShield/VeraxShield/composants/affichages/utilisateurs/DatagridUtilisateurs.razor
+++ b/VeraxShield/VeraxShield/composants/affichages/utilisateurs/DatagridUtilisateurs.razor
@@ -28,22 +28,6 @@
Valide
}
- @* plan d'architecture
- concepts mis en place
- organisation / répartition
- User case
- simili de Gantt
-
- code propre (variables et fonctions compréhensibles)
- fonctionnel
- Authentification
- Service factice
- Service réel
- Formulaire
- Recupérer un élément, modif, supp...
-
- *@
-
diff --git a/VeraxShield/VeraxShield/composants/authentification/FormulaireConnexion.razor.cs b/VeraxShield/VeraxShield/composants/authentification/FormulaireConnexion.razor.cs
index 9f16970..88d5d85 100644
--- a/VeraxShield/VeraxShield/composants/authentification/FormulaireConnexion.razor.cs
+++ b/VeraxShield/VeraxShield/composants/authentification/FormulaireConnexion.razor.cs
@@ -23,6 +23,7 @@ namespace VeraxShield.composants.authentification
protected override async Task OnInitializedAsync()
{
this.Requete = new RequeteConnexion();
+ await base.OnInitializedAsync();
}
public async Task OnSubmit()
diff --git a/VeraxShield/VeraxShield/factories/UtilisateursFactory.cs b/VeraxShield/VeraxShield/factories/UtilisateursFactory.cs
index 57537ba..34c2cc2 100644
--- a/VeraxShield/VeraxShield/factories/UtilisateursFactory.cs
+++ b/VeraxShield/VeraxShield/factories/UtilisateursFactory.cs
@@ -33,11 +33,11 @@ namespace VeraxShield.factories
return temp;
}
- public static Utilisateur toUtilisateur(AppUtilisateur appUtilisateur)
- {
- return new Utilisateur(appUtilisateur.Pseudo, appUtilisateur.Nom, appUtilisateur.Prenom,
- appUtilisateur.Roles[0], appUtilisateur.MotDePasse, appUtilisateur.Mail, false);
- }
+ // public static Utilisateur toUtilisateur(UtilisateurCourant appUtilisateur)
+ // {
+ // return new Utilisateur(appUtilisateur.Pseudo, appUtilisateur.Nom, appUtilisateur.Prenom,
+ // appUtilisateur.Roles[0], appUtilisateur.MotDePasse, appUtilisateur.Mail, false);
+ // }
public static AppUtilisateur toAppUtilisateur(Utilisateur u)
{
diff --git a/VeraxShield/VeraxShield/services/authentificationService/AuthentificationService.cs b/VeraxShield/VeraxShield/services/authentificationService/AuthentificationService.cs
index e427fac..01fed08 100644
--- a/VeraxShield/VeraxShield/services/authentificationService/AuthentificationService.cs
+++ b/VeraxShield/VeraxShield/services/authentificationService/AuthentificationService.cs
@@ -1,21 +1,24 @@
+using System.Linq;
using System.Security.Claims;
using VeraxShield.composants.formulaires.modeles;
+using VeraxShield.modele.utilisateurs;
using VeraxShield.services.UtilisateursDataService;
public class AuthentificationService : IAuthentificationService
{
-
- private static readonly List utilisateursApplication;
+ private List UtilisateursApplication {get; set;}
+ private IUtilisateursDataService _utilisateursDataService;
- static AuthentificationService()
+ public AuthentificationService(IUtilisateursDataService utilisateursDataService)
{
- utilisateursApplication = new List();
- utilisateursApplication.Add(new AppUtilisateur("Admin", "Compte", "Admin", "compte@admin.fr", "Admin", "admin"));
+ this._utilisateursDataService = utilisateursDataService;
+ this.UtilisateursApplication = new List();
}
- public void Connexion(RequeteConnexion requete)
+ public async Task Connexion(RequeteConnexion requete)
{
- var utilisateur = utilisateursApplication.FirstOrDefault(w => w.Pseudo == requete.Pseudo && w.MotDePasse == requete.MotDePasse);
+ await this.MajUtilisateurs();
+ var utilisateur = this.UtilisateursApplication.FirstOrDefault(w => w.Pseudo == requete.Pseudo && w.Mdp == requete.MotDePasse);
if (utilisateur == null)
{
@@ -23,9 +26,10 @@ public class AuthentificationService : IAuthentificationService
}
}
- public UtilisateurCourant GetUtilisateur(string nom)
+ public async Task GetUtilisateur(string pseudo)
{
- var utilisateur = utilisateursApplication.FirstOrDefault(w => w.Pseudo == nom);
+ await this.MajUtilisateurs();
+ var utilisateur = this.UtilisateursApplication.FirstOrDefault(w => w.Pseudo == pseudo);
if (utilisateur == null)
{
@@ -33,7 +37,7 @@ public class AuthentificationService : IAuthentificationService
}
var claims = new List();
- claims.AddRange(utilisateur.Roles.Select(s => new Claim(ClaimTypes.Role, s)));
+ claims.Add(new Claim(ClaimTypes.Role, utilisateur.Role));
return new UtilisateurCourant
{
@@ -43,9 +47,16 @@ public class AuthentificationService : IAuthentificationService
};
}
- public void Inscription(RequeteInscription requete)
+ public async Task Inscription(RequeteInscription requete)
+ {
+ await this._utilisateursDataService.AjouterUtilisateur(new Utilisateur(requete.Pseudo, requete.Nom, requete.Prenom, "invite",
+ requete.MotDePasse, requete.Mail, false));
+
+ await this.MajUtilisateurs();
+ }
+
+ public async Task MajUtilisateurs()
{
- utilisateursApplication.Add(new AppUtilisateur(requete.Pseudo, requete.Nom, requete.Prenom,
- requete.Mail, requete.MotDePasse, "invite"));
+ this.UtilisateursApplication = await this._utilisateursDataService.getAllUtilisateurs();
}
}
\ No newline at end of file
diff --git a/VeraxShield/VeraxShield/services/authentificationService/DonneurEtat.cs b/VeraxShield/VeraxShield/services/authentificationService/DonneurEtat.cs
index aa13258..add3e28 100644
--- a/VeraxShield/VeraxShield/services/authentificationService/DonneurEtat.cs
+++ b/VeraxShield/VeraxShield/services/authentificationService/DonneurEtat.cs
@@ -51,10 +51,10 @@ public class DonneurEtat : AuthenticationStateProvider
public async Task Connexion(RequeteConnexion requete)
{
- this._serviceAuthentification.Connexion(requete);
+ await this._serviceAuthentification.Connexion(requete);
// No error - Login the user
- var user = this._serviceAuthentification.GetUtilisateur(requete.Pseudo);
+ var user = await this._serviceAuthentification.GetUtilisateur(requete.Pseudo);
this._utilisateurCourant = user;
NotifyAuthenticationStateChanged(GetAuthenticationStateAsync());
@@ -68,15 +68,12 @@ public class DonneurEtat : AuthenticationStateProvider
public async Task Inscription(RequeteInscription requete)
{
- this._serviceAuthentification.Inscription(requete);
+ await this._serviceAuthentification.Inscription(requete);
// No error - Login the user
- var user = this._serviceAuthentification.GetUtilisateur(requete.Nom);
+ var user = await this._serviceAuthentification.GetUtilisateur(requete.Nom);
this._utilisateurCourant = user;
- Utilisateur temp = UtilisateursFactory.toUtilisateur(user);
- await this._utilisateursDataService.AjouterUtilisateur(temp);
-
NotifyAuthenticationStateChanged(GetAuthenticationStateAsync());
}
}
\ No newline at end of file
diff --git a/VeraxShield/VeraxShield/services/authentificationService/IAuthentificationService.cs b/VeraxShield/VeraxShield/services/authentificationService/IAuthentificationService.cs
index 8fc7045..6665618 100644
--- a/VeraxShield/VeraxShield/services/authentificationService/IAuthentificationService.cs
+++ b/VeraxShield/VeraxShield/services/authentificationService/IAuthentificationService.cs
@@ -2,7 +2,7 @@ using VeraxShield.composants.formulaires.modeles;
public interface IAuthentificationService
{
- public UtilisateurCourant GetUtilisateur(String nom);
- public void Connexion(RequeteConnexion requete);
- public void Inscription(RequeteInscription requete);
+ public Task GetUtilisateur(String nom);
+ public Task Connexion(RequeteConnexion requete);
+ public Task Inscription(RequeteInscription requete);
}
\ No newline at end of file
diff --git a/VeraxShield/VeraxShield/wwwroot/data/fakeUtilisateurs.json b/VeraxShield/VeraxShield/wwwroot/data/fakeUtilisateurs.json
index 60a0225..1e3698a 100644
--- a/VeraxShield/VeraxShield/wwwroot/data/fakeUtilisateurs.json
+++ b/VeraxShield/VeraxShield/wwwroot/data/fakeUtilisateurs.json
@@ -17,6 +17,15 @@
"Mdp": "SecretPassword456",
"IsBan": true
},
+ {
+ "Pseudo": "Admin",
+ "Mail": "Admin.admin@admin.com",
+ "Nom": "Admin",
+ "Prenom": "Admin",
+ "Role": "admin",
+ "Mdp": "Admin",
+ "IsBan": false
+ },
{
"Pseudo": "alice_jones",
"Mail": "alice.jones@example.com",