77 lines
2.0 KiB
Plaintext
77 lines
2.0 KiB
Plaintext
@using BlaServApp.UI.Components
|
|
@using System.Security.Claims
|
|
@using Microsoft.AspNetCore.Components.Authorization
|
|
@using BlaServApp.UI.Data
|
|
|
|
@inject MessageService AppMessages
|
|
@inject AuthenticationStateProvider AuthenticationStateProvider
|
|
|
|
<div class="row pt-3">
|
|
<div class="col-3">
|
|
<i class="fas fa-user-alt"></i> <b>@userName</b>
|
|
</div>
|
|
<div class="col-6 text-center h4">
|
|
<span class="@PageIcon" aria-hidden="true"></span> @PageName
|
|
</div>
|
|
<div class="col-3 text-right">
|
|
@if (ShowSearch)
|
|
{
|
|
<SearchMod></SearchMod>
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
@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*@ |