@using MP.Stats.Components @using System.Security.Claims @using Microsoft.AspNetCore.Components.Authorization @using MP.Stats.Data @inject MessageService AppMessages @inject AuthenticationStateProvider AuthenticationStateProvider
@userName
@PageName
@if (ShowSearch) { }
@code { [CascadingParameter(Name = "ShowSearch")] private bool ShowSearch { get; set; } private string userName = ""; private string PageName { get; set; } private string PageIcon { get; set; } protected override async Task OnInitializedAsync() { await forceReload(); } protected override void OnInitialized() { AppMessages.EA_PageUpdated += OnPageUpdate; } public void OnPageUpdate() { PageName = AppMessages.PageName; PageIcon = AppMessages.PageIcon; InvokeAsync(() => { StateHasChanged(); }); } public void Dispose() { AppMessages.EA_PageUpdated -= OnPageUpdate; } private async Task forceReload() { var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); var user = authState.User; if (user.Identity.IsAuthenticated) { userName = $"{user.Identity.Name}"; } else { userName = "N.A."; } } } @* // Vedere anche: // https://docs.microsoft.com/en-us/aspnet/core/blazor/security/?view=aspnetcore-5.0#:~:text=Blazor%20uses%20the%20existing%20ASP.NET%20Core%20authentication%20mechanisms,all%20client-side%20code%20can%20be%20modified%20by%20users // https://docs.microsoft.com/en-us/aspnet/core/blazor/security/?view=aspnetcore-5.0*@