@page "/login" @using System.ComponentModel.DataAnnotations @inject UserService Gebruikers Inloggen — ProostenKrant

Inloggen redactie

Kies je naam en voer het familiewachtwoord in.

@if (_fout is not null) {

@_fout

}
@foreach (var gebruiker in _gebruikers) { }
@code { [CascadingParameter] private HttpContext HttpContext { get; set; } = default!; [SupplyParameterFromForm(FormName = "login")] private LoginInput Input { get; set; } = new(); private List _gebruikers = new(); private string? _fout; protected override async Task OnInitializedAsync() { Input ??= new(); _gebruikers = await Gebruikers.GetAllAsync(); } private async Task LoginUser() { var gebruiker = _gebruikers.FirstOrDefault(g => string.Equals(g.Username, Input.Username, StringComparison.OrdinalIgnoreCase)); if (gebruiker is null || Input.Password != Krant.UniversalPassword) { _fout = "Ongeldige gebruikersnaam of wachtwoord."; return; } var principal = KrantAuth.EditorPrincipal(gebruiker); await HttpContext.SignInAsync(KrantAuth.Scheme, principal); Nav.NavigateTo("/dashboard", forceLoad: true); } private sealed class LoginInput { [Required(ErrorMessage = "Kies je naam.")] public string Username { get; set; } = ""; [Required(ErrorMessage = "Voer het wachtwoord in.")] public string Password { get; set; } = ""; } }