Protection routes

arthur_usercookies
Arthur VALIN 2 years ago
parent 7a0a4e4204
commit 249df5cfe0

@ -1,52 +1,59 @@
@page "/list" @page "/list"
@using CraftSharp.Models @using CraftSharp.Models
<h3>@Localizer["Title"]</h3> @if (AuthStateProvider.GetCurrentUser().Roles.Contains(UserRoles.Admin))
{
<div> <h3>@Localizer["Title"]</h3>
<NavLink class="btn btn-primary" href="Add" Match="NavLinkMatch.All">
<i class="fa fa-plus"></i> @Localizer["Add"]
</NavLink>
</div>
<DataGrid TItem="Item" <div>
Data="@items" <NavLink class="btn btn-primary" href="Add" Match="NavLinkMatch.All">
ReadData="@OnReadData" <i class="fa fa-plus"></i> @Localizer["Add"]
TotalItems="@totalItem" </NavLink>
PageSize="10" </div>
ShowPager
Responsive> <DataGrid TItem="Item"
<DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="#" /> Data="@items"
<DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="@Localizer["Image"]"> ReadData="@OnReadData"
<DisplayTemplate> TotalItems="@totalItem"
@if (!string.IsNullOrWhiteSpace(context.ImageBase64)) PageSize="10"
{ ShowPager
<img src="data:image/png;base64, @(context.ImageBase64)" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="min-width: 50px; max-width: 150px" /> Responsive>
} <DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="#" />
else <DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="@Localizer["Image"]">
{ <DisplayTemplate>
<img src="images/default.png" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="max-width: 150px"/> @if (!string.IsNullOrWhiteSpace(context.ImageBase64))
} {
</DisplayTemplate> <img src="data:image/png;base64, @(context.ImageBase64)" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="min-width: 50px; max-width: 150px" />
</DataGridColumn> }
<DataGridColumn TItem="Item" Field="@nameof(Item.DisplayName)" Caption="@Localizer["Display"]" /> else
<DataGridColumn TItem="Item" Field="@nameof(Item.StackSize)" Caption="@Localizer["Stack"]" /> {
<DataGridColumn TItem="Item" Field="@nameof(Item.MaxDurability)" Caption="@Localizer["Maximum"]" /> <img src="images/default.png" class="img-thumbnail" title="@context.DisplayName" alt="@context.DisplayName" style="max-width: 150px"/>
<DataGridColumn TItem="Item" Field="@nameof(Item.EnchantCategories)" Caption="@Localizer["Enchant"]"> }
<DisplayTemplate> </DisplayTemplate>
@(string.Join(", ", ((Item)context).EnchantCategories)) </DataGridColumn>
</DisplayTemplate> <DataGridColumn TItem="Item" Field="@nameof(Item.DisplayName)" Caption="@Localizer["Display"]" />
</DataGridColumn> <DataGridColumn TItem="Item" Field="@nameof(Item.StackSize)" Caption="@Localizer["Stack"]" />
<DataGridColumn TItem="Item" Field="@nameof(Item.RepairWith)" Caption="@Localizer["Repair"]"> <DataGridColumn TItem="Item" Field="@nameof(Item.MaxDurability)" Caption="@Localizer["Maximum"]" />
<DisplayTemplate> <DataGridColumn TItem="Item" Field="@nameof(Item.EnchantCategories)" Caption="@Localizer["Enchant"]">
@(string.Join(", ", ((Item)context).RepairWith)) <DisplayTemplate>
</DisplayTemplate> @(string.Join(", ", ((Item)context).EnchantCategories))
</DataGridColumn> </DisplayTemplate>
<DataGridColumn TItem="Item" Field="@nameof(Item.CreatedDate)" Caption="@Localizer["Created"]" DisplayFormat="{0:d}" DisplayFormatProvider="@System.Globalization.CultureInfo.GetCultureInfo("fr-FR")" /> </DataGridColumn>
<DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="@Localizer["Action"]"> <DataGridColumn TItem="Item" Field="@nameof(Item.RepairWith)" Caption="@Localizer["Repair"]">
<DisplayTemplate> <DisplayTemplate>
<a href="Edit/@(context.Id)" class="btn btn-primary"><i class="fa fa-edit"></i> @Localizer["Edit"]</a> @(string.Join(", ", ((Item)context).RepairWith))
<button type="button" class="btn btn-primary" @onclick="() => OnDelete(context.Id)"><i class="fa fa-trash"></i> @Localizer["Supp"]</button> </DisplayTemplate>
</DisplayTemplate> </DataGridColumn>
</DataGridColumn> <DataGridColumn TItem="Item" Field="@nameof(Item.CreatedDate)" Caption="@Localizer["Created"]" DisplayFormat="{0:d}" DisplayFormatProvider="@System.Globalization.CultureInfo.GetCultureInfo("fr-FR")" />
</DataGrid> <DataGridColumn TItem="Item" Field="@nameof(Item.Id)" Caption="@Localizer["Action"]">
<DisplayTemplate>
<a href="Edit/@(context.Id)" class="btn btn-primary"><i class="fa fa-edit"></i> @Localizer["Edit"]</a>
<button type="button" class="btn btn-primary" @onclick="() => OnDelete(context.Id)"><i class="fa fa-trash"></i> @Localizer["Supp"]</button>
</DisplayTemplate>
</DataGridColumn>
</DataGrid>
}else{
<p>FORBIDDEN !!</p>
}

@ -16,6 +16,9 @@ namespace CraftSharp.Pages
private int totalItem; private int totalItem;
[Inject]
public CustomStateProvider AuthStateProvider { get; set; }
[Inject] [Inject]
public IStringLocalizer<List> Localizer { get; set; } public IStringLocalizer<List> Localizer { get; set; }

@ -11,7 +11,6 @@
</div> </div>
</Authorized> </Authorized>
</AuthorizeView> </AuthorizeView>
@AuthStateProvider.GetCurrentUser().UserName;
<div class="openingPanel"> <div class="openingPanel">
<img src="/Images/chestBottom.png" class="chest chestOpenBottom @openAnim" /> <img src="/Images/chestBottom.png" class="chest chestOpenBottom @openAnim" />
<img src="/Images/chest.png" class="chest chestOpen @openAnim" /> <img src="/Images/chest.png" class="chest chestOpen @openAnim" />

@ -29,6 +29,10 @@ namespace CraftSharp.Shared
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
if (AuthStateProvider.GetCurrentUser() == null || !AuthStateProvider.GetCurrentUser().IsAuthenticated)
{
NavigationManager.NavigateTo("/");
}
isAdmin(); isAdmin();
} }

Loading…
Cancel
Save