61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
@using Microsoft.AspNetCore.Components.Authorization
|
|
|
|
@inject AuthenticationStateProvider AuthenticationStateProvider
|
|
|
|
<AuthorizeView>
|
|
<Authorized>
|
|
<div class="input-group text-truncate">
|
|
<div class="input-group-prepend">
|
|
<a title="LogOut" href="Identity/Account/LogOut" class="btn btn-sm btn-danger"><i class="fas fa-sign-out-alt"></i></a>
|
|
</div>
|
|
<a title="Gestione account @userName" href="Identity/Account/Manage" class="btn btn-sm btn-outline-dark mx-0 px-1">
|
|
<div class="d-none d-sm-block">
|
|
<i class="fas fa-user-alt"></i> @StringLim(userName, 30)
|
|
</div>
|
|
<div class="d-block d-sm-none">
|
|
<i class="fas fa-user-alt"></i> @StringLim(userName, 15)
|
|
</div>
|
|
</a>
|
|
</div>
|
|
</Authorized>
|
|
<NotAuthorized>
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<a title="LogIn" href="Identity/Account/LogIn" class="btn btn-sm btn-success"><i class="fas fa-sign-in-alt"></i></a>
|
|
</div>
|
|
<div class="form-control form-control-sm">
|
|
<i class="fas fa-user-alt"></i> @userName
|
|
</div>
|
|
</div>
|
|
</NotAuthorized>
|
|
</AuthorizeView>
|
|
|
|
@code{
|
|
|
|
private string userName = "";
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
await forceReload();
|
|
}
|
|
private async Task forceReload()
|
|
{
|
|
|
|
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
|
|
var user = authState.User;
|
|
|
|
if (user.Identity.IsAuthenticated)
|
|
{
|
|
userName = $"{user.Identity.Name}";
|
|
}
|
|
else
|
|
{
|
|
userName = "Non Autenticato";
|
|
}
|
|
}
|
|
|
|
protected string StringLim(string original, int maxLen)
|
|
{
|
|
return original.Length <= maxLen ? original : $"{original.Substring(0, maxLen - 3)}...";
|
|
}
|
|
|
|
} |