Creata pagina login con Syncfusion
This commit is contained in:
@@ -1,7 +1,67 @@
|
||||
@page "/"
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@using System.Security.Claims
|
||||
@attribute [Authorize]
|
||||
|
||||
<PageTitle>Home</PageTitle>
|
||||
@inject AuthenticationStateProvider AuthenticationStateProvider
|
||||
|
||||
<h1>Hello, world!</h1>
|
||||
<PageTitle>Home - SmartDB</PageTitle>
|
||||
|
||||
Welcome to your new app.
|
||||
<div class="container-fluid mt-4">
|
||||
<div class="row mb-4">
|
||||
<div class="col-md-8">
|
||||
<h1>Benvenuto in SmartDB</h1>
|
||||
<p class="lead">Applicazione di gestione avanzata</p>
|
||||
</div>
|
||||
<div class="col-md-4 text-end">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<p class="card-text">Utente: <strong>@currentUserEmail</strong></p>
|
||||
<p class="card-text text-muted">@currentUserName</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (isAdmin)
|
||||
{
|
||||
<div class="alert alert-info" role="alert">
|
||||
<h4 class="alert-heading">Pannello Amministratore</h4>
|
||||
<p>Hai accesso alle funzioni di amministrazione.</p>
|
||||
<hr />
|
||||
<a href="/admin/users" class="btn btn-sm btn-primary">Gestisci Utenti</a>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Dashboard</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>Benvenuto nell'applicazione SmartDB. Qui troverai tutti gli strumenti necessari per gestire i tuoi dati.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
private string currentUserEmail = string.Empty;
|
||||
private string currentUserName = string.Empty;
|
||||
private bool isAdmin = false;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
|
||||
var user = authState.User;
|
||||
|
||||
if (user.Identity?.IsAuthenticated ?? false)
|
||||
{
|
||||
currentUserEmail = user.FindFirst(ClaimTypes.Email)?.Value ?? user.Identity.Name ?? "Utente";
|
||||
currentUserName = $"{user.FindFirst(ClaimTypes.GivenName)?.Value} {user.FindFirst(ClaimTypes.Surname)?.Value}".Trim();
|
||||
isAdmin = user.IsInRole("Admin");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user