* Added Authorization which is not working

This commit is contained in:
2025-02-23 21:19:04 +01:00
parent 6774311433
commit 5bcf406465
29 changed files with 407 additions and 210 deletions

View File

@@ -18,19 +18,6 @@
</head>
<body>
@inject AuthenticationStateProvider AuthenticationStateProvider
@inject NavigationManager NavigationManager
@{
var authState = AuthenticationStateProvider.GetAuthenticationStateAsync().Result;
var user = authState.User;
if (!(user.Identity is { IsAuthenticated: true }) && NavigationManager.Uri != NavigationManager.BaseUri + "login")
{
NavigationManager.NavigateTo("/login");
}
}
<Routes @rendermode="@InteractiveServer" />
<script src="_framework/blazor.web.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>

View File

@@ -1,4 +1,9 @@
@page "/login"
@rendermode InteractiveServer
@attribute [AllowAnonymous]
@using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Components.Authorization
@using OrdersManagement.Models
@using Syncfusion.Blazor.Inputs
@@ -102,18 +107,18 @@
{
Console.WriteLine($"Próba logowania dla: {LoginModel.Login}");
var user = await UserService.AuthenticateUserAsync(LoginModel.Login, LoginModel.Password);
if (user != null)
{
Console.WriteLine($"Użytkownik {user.Login} znaleziony.");
if (user.IsTemporaryPassword)
{
ShowChangePassword = true;
StateHasChanged(); // Wymagane, aby odświeżyć UI
StateHasChanged();
}
else
{
await ((CustomAuthenticationStateProvider)AuthenticationStateProvider).MarkUserAsAuthenticated(user);
NavigationManager.NavigateTo("/");
NavigationManager.NavigateTo("/ScheduleOrders");
}
}
else

View File

@@ -1,5 +1,7 @@
@page "/CustomerOrder/{CustomerOrderId:guid}"
@rendermode InteractiveServer
@inject CustomerOrderService CustomerOrderService
@inject ScheduleOrderService ScheduleOrderService
@using SytelineSaAppEfDataModel.Dtos

View File

@@ -1,4 +1,7 @@
@page "/CustomerOrders"
@rendermode InteractiveServer
@inject CustomerOrderService CustomerOrderService
@inject NavigationManager NavigationManager
@using SytelineSaAppEfDataModel.Dtos

View File

@@ -1,6 +1,9 @@
@page "/EdiCustomerOrder/{CustomerOrderId:guid}"
@rendermode InteractiveServer
@inject EdiCustomerOrderService EdiCustomerOrderService
@using Microsoft.AspNetCore.Authorization
@using SytelineSaAppEfDataModel.Dtos
@using Syncfusion.Blazor.Grids
@using Syncfusion.Blazor.Cards

View File

@@ -1,6 +1,6 @@
@page "/EdiCustomerOrders"
@attribute [Authorize]
@rendermode InteractiveServer
@inject EdiCustomerOrderService EdiCustomerOrderService
@inject NavigationManager NavigationManager
@@ -108,7 +108,7 @@
<Content>
@if (_responses.Any(x => x.Status == 1))
{
foreach (ResponseModel response in _responses.Where(x => x.Status == 1))
foreach (ResponseModel? response in _responses.Where(x => x.Status == 1))
{
<p>Zamówienie EDI @response.Identifier zostało poprawnie zaksięgowane w Zamówieniach klienta pod
numerem '@response.ExternalIdentifier'</p>
@@ -116,7 +116,7 @@
}
@if (_responses.Any(x => x.Status == 0))
{
foreach (ResponseModel response in _responses.Where(x => x.Status == 0))
foreach (ResponseModel? response in _responses.Where(x => x.Status == 0))
{
<p>Błąd: Zamówienie EDI @response.Identifier nie zostało poprawnie zaksięgowane w Zamówieniach
klienta.<br/>Lista błędów:<br/>@response.Message</p>
@@ -138,7 +138,7 @@
private IEnumerable<EdiCustomerOrderDto> _ediCustomerOrders = [];
private List<EdiCustomerOrderDto> _selectedEdiCustomerOrders = new();
private List<ResponseModel> _responses = new();
private List<ResponseModel?> _responses = new();
private bool _isVisible;
private bool? _filter = false;
@@ -161,11 +161,11 @@
{
if (!_selectedEdiCustomerOrders.Any()) return false;
_responses = new List<ResponseModel>();
_responses = new List<ResponseModel?>();
foreach (EdiCustomerOrderDto selectedEdiCustomerOrder in _selectedEdiCustomerOrders)
{
ResponseModel response = await EdiCustomerOrderService.SendOrderToSyteline(selectedEdiCustomerOrder.RowPointer, selectedEdiCustomerOrder.CustomerOrderNumber);
ResponseModel? response = await EdiCustomerOrderService.SendOrderToSyteline(selectedEdiCustomerOrder.RowPointer, selectedEdiCustomerOrder.CustomerOrderNumber);
if (response.Status == 1)
{

View File

@@ -0,0 +1,8 @@
@inject NavigationManager Navigation
@code {
protected override void OnInitialized()
{
Navigation.NavigateTo("/login");
}
}

View File

@@ -1,8 +1,10 @@
@page "/ScheduleOrder/{ScheduleOrderId:int}"
@rendermode InteractiveServer
@using Microsoft.AspNetCore.Authorization
@using Syncfusion.Blazor.Grids
@using Syncfusion.Blazor.Lists
@inject ScheduleOrderDetailsService ScheduleOrderDetailsService
@inject ScheduleOrderService ScheduleOrderService
<div class="h-100 d-flex flex-column">

View File

@@ -1,14 +1,14 @@
@page "/"
@attribute [Authorize]
@inherits LayoutComponentBase
@using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Components.Authorization
@using Microsoft.IdentityModel.Tokens
@using OrdersManagement.Components.Pages.Shared
@using Syncfusion.Blazor.Grids
@inject ScheduleOrderService ScheduleOrderService
@inject AuthenticationStateProvider AuthStateProvider
@* //@inject AuthTokenHandler TokenHandler *@
<div class="h-100 d-flex flex-column">
<h5>Zamówienia DELFOR</h5>
@@ -18,17 +18,19 @@
@code {
private IEnumerable<ScheduleOrderDto> _scheduleOrders = [];
protected override async Task OnInitializedAsync()
protected override async Task OnAfterRenderAsync(bool firstRender)
{
_scheduleOrders = await FetchScheduleOrdersAsync();
if (firstRender)
{
_scheduleOrders = await FetchScheduleOrdersAsync();
StateHasChanged();
}
}
private async Task<IEnumerable<ScheduleOrderDto>> FetchScheduleOrdersAsync()
{
_scheduleOrders = await ScheduleOrderService.GetScheduleOrdersAsync() ?? new List<ScheduleOrderDto>();
_scheduleOrders = _scheduleOrders.OrderByDescending(x => x.LastUpdateDate).ToList();
StateHasChanged();
return _scheduleOrders;
}
@@ -38,5 +40,4 @@
{
_gridRef = grid;
}
}
}