authentificationJean
Siwa12100 1 year ago
parent f87e565581
commit 01d6c19051

@ -19,17 +19,26 @@
<DataGridColumn Field="@nameof(Utilisateur.Pseudo)" Caption="Pseudo" Sortable="false" />
<DataGridColumn Field="@nameof(Utilisateur.Prenom)" Caption="Prenom" Editable />
<DataGridColumn Field="@nameof(Utilisateur.Nom)" Caption="Nom" Editable />
<DataGridColumn Field="@nameof(Utilisateur.IsBan)" Caption="Banissement" Editable />
<DataGridColumn Field="@nameof(Utilisateur.IsBan)" Caption="Banissement" Editable>
<DisplayTemplate>
@if (context.IsBan) {
<Badge Color="Color.Danger" Pill>Ban</Badge>
} else {
<Badge Color="Color.Success" Pill>Valide</Badge>
}
</DisplayTemplate>
</DataGridColumn>
<DataGridColumn Field="@nameof(Utilisateur.Pseudo)" Caption="Gerer">
<DisplayTemplate>
<button type="button" class="btn btn-primary" @onclick="() => onClickBoutonSuppression(context.Pseudo)"><i class="fa fa-trash"></i> Supprimer</button>
<button type="button" class="btn btn-primary" @onclick="() => onClickBoutonModification(context.Pseudo)"><i class="fa fa-trash"></i> Modifier</button>
<button type="button" class="btn btn-primary" @onclick="() => onClickBoutonModification(context.Pseudo)"><i class="fa fa-pencil"></i> Modifier</button>
</DisplayTemplate>
</DataGridColumn>
</DataGridColumns>
<PageButtonTemplate>
<Span TextColor="TextColor.Success">

@ -17,7 +17,7 @@
<Field Horizontal>
<FieldLabel ColumnSize="ColumnSize.Is2">Pseudo</FieldLabel>
<FieldBody ColumnSize="ColumnSize.Is10">
<TextEdit Placeholder="Entrez votre pseudo" @bind-Text="@Requete.Nom">
<TextEdit Placeholder="Entrez votre pseudo" @bind-Text="@Requete.Pseudo">
<Feedback>
<ValidationError />
</Feedback>

@ -0,0 +1,7 @@
namespace VeraxShield.composants.authentification
{
public partial class FormulaireConnexion
{
}
}

@ -8,6 +8,6 @@ namespace VeraxShield.composants.formulaires.modeles
public string MotDePasse { get; set; }
[Required(ErrorMessage="le champ est obligatoire !")]
public string Nom { get; set; }
public string Pseudo { get; set; }
}
}

@ -13,5 +13,14 @@ namespace VeraxShield.composants.formulaires.modeles
[Required]
public string Nom { get; set; }
[Required]
public string Prenom {get; set;}
[Required]
public string Pseudo { get; set; }
[Required]
public string Mail { get; set;}
}
}

@ -32,5 +32,16 @@ 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 AppUtilisateur toAppUtilisateur(Utilisateur u)
{
return new AppUtilisateur(u.Pseudo, u.Nom, u.Prenom, u.Mail, u.Mdp, u.Role);
}
}
}

@ -2,11 +2,18 @@ public class AppUtilisateur
{
public string MotDePasse { get; set; }
public List<string> Roles { get; set; }
public string Pseudo { get; set; }
public string Prenom { get; set; }
public string Nom { get; set; }
public string Mail { get; set; }
public AppUtilisateur(string nom, string mdp, String premierRole)
public AppUtilisateur(string pseudo,string nom, string prenom, string mail, string mdp, String premierRole)
{
this.MotDePasse = mdp;
this.Pseudo = pseudo;
this.Mail = mail;
this.Prenom = prenom;
this.Nom = nom;
this.Roles = new List<string>();

@ -2,5 +2,5 @@ public class UtilisateurCourant
{
public Dictionary<string, string> Claims { get; set; }
public bool EstAuthentifie { get; set; }
public string Nom { get; set; }
public string Pseudo { get; set; }
}

@ -1,22 +1,25 @@
using System.Security.Claims;
using VeraxShield.composants.formulaires.modeles;
using VeraxShield.services.UtilisateursDataService;
public class AuthentificationService : IAuthentificationService
{
private static readonly List<AppUtilisateur> utilisateursApplication;
private static IUtilisateursDataService _utilisateursDataService { get; set; }
static AuthentificationService()
{
utilisateursApplication = new List<AppUtilisateur>();
utilisateursApplication.Add(new AppUtilisateur("Admin", "Admin", "admin"));
utilisateursApplication.Add(new AppUtilisateur("Admin", "Compte", "Admin", "compte@admin.fr", "Admin", "admin"));
}
public void Connexion(RequeteConnexion requete)
{
var utilisateur = utilisateursApplication.FirstOrDefault(w => w.Nom == requete.Nom && w.MotDePasse == requete.MotDePasse);
var utilisateur = utilisateursApplication.FirstOrDefault(w => w.Pseudo == requete.Pseudo && w.MotDePasse == requete.MotDePasse);
if (utilisateur == null)
{
@ -26,7 +29,7 @@ public class AuthentificationService : IAuthentificationService
public UtilisateurCourant GetUtilisateur(string nom)
{
var utilisateur = utilisateursApplication.FirstOrDefault(w => w.Nom == nom);
var utilisateur = utilisateursApplication.FirstOrDefault(w => w.Pseudo == nom);
if (utilisateur == null)
{
@ -39,13 +42,14 @@ public class AuthentificationService : IAuthentificationService
return new UtilisateurCourant
{
EstAuthentifie = true,
Nom = utilisateur.Nom,
Pseudo = utilisateur.Pseudo,
Claims = claims.ToDictionary(c => c.Type, c => c.Value)
};
}
public void Inscription(RequeteInscription requete)
{
utilisateursApplication.Add(new AppUtilisateur(requete.Nom, requete.MotDePasse, "invite" ));
utilisateursApplication.Add(new AppUtilisateur(requete.Pseudo, requete.Nom, requete.Prenom,
requete.Mail, requete.MotDePasse, "invite"));
}
}

@ -22,7 +22,7 @@ public class DonneurEtat : AuthenticationStateProvider
if (userInfo.EstAuthentifie)
{
var claims = new[] { new Claim(ClaimTypes.Name, this._utilisateurCourant.Nom) }.Concat(this._utilisateurCourant.Claims.Select(c => new Claim(c.Key, c.Value)));
var claims = new[] { new Claim(ClaimTypes.Name, this._utilisateurCourant.Pseudo) }.Concat(this._utilisateurCourant.Claims.Select(c => new Claim(c.Key, c.Value)));
identite = new ClaimsIdentity(claims, "Server authentication");
}
}
@ -49,7 +49,7 @@ public class DonneurEtat : AuthenticationStateProvider
this._serviceAuthentification.Connexion(requete);
// No error - Login the user
var user = this._serviceAuthentification.GetUtilisateur(requete.Nom);
var user = this._serviceAuthentification.GetUtilisateur(requete.Pseudo);
this._utilisateurCourant = user;
NotifyAuthenticationStateChanged(GetAuthenticationStateAsync());

Loading…
Cancel
Save