84 lines
2.2 KiB
Plaintext
84 lines
2.2 KiB
Plaintext
@using MP.Prog.Components
|
|
@using System.Security.Claims
|
|
@*@using Microsoft.AspNetCore.Components.Authorization*@
|
|
@using MP.Prog.Data
|
|
|
|
@inject MessageService AppMessages
|
|
@*@inject AuthenticationStateProvider AuthenticationStateProvider*@
|
|
|
|
<div class="form-row pt-3">
|
|
<div class="col-7 col-md-6 col-lg-4 col-xl-3">
|
|
@*<LoginDisplay></LoginDisplay>*@
|
|
@*<i class="fas fa-user-alt"></i> <b>@userName</b>*@
|
|
</div>
|
|
<div class="col-12 col-lg-4 col-xl-6 d-none d-lg-block text-center h4 text-truncate">
|
|
<span class="@PageIcon" aria-hidden="true"></span> @PageName
|
|
</div>
|
|
<div class="col-5 col-md-6 col-lg-4 col-xl-3 text-right">
|
|
@if (ShowSearch)
|
|
{
|
|
<SearchMod></SearchMod>
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
@code {
|
|
|
|
//[CascadingParameter]
|
|
//private Task<AuthenticationState> AuthenticationStateTask { get; set; }
|
|
|
|
[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()
|
|
{
|
|
userName = "N.A.";
|
|
await Task.Delay(1);
|
|
#if false
|
|
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
|
|
var user = authState.User;
|
|
|
|
if (user.Identity.IsAuthenticated)
|
|
{
|
|
userName = $"{user.Identity.Name}";
|
|
}
|
|
else
|
|
{
|
|
userName = "N.A.";
|
|
}
|
|
#endif
|
|
}
|
|
}
|
|
|
|
@* // 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*@ |