Add simple auth

This commit is contained in:
2025-11-11 14:41:51 -05:00
parent 307c6e103f
commit d188d4fbd1
26 changed files with 121 additions and 17 deletions
+11
View File
@@ -0,0 +1,11 @@
@page "/login"
<h3>Login</h3>
<form action="Auth/CookieLogin" method="post">
<button type="submit" class="btn btn-primary">Login</button>
</form>
<form action="Auth/CookieLogout" method="post">
<button type="submit" class="btn btn-primary">Logout</button>
</form>
@@ -1,4 +1,5 @@
@page "/events/create"
@attribute [Authorize]
@inject AppDbContext context
@inject NavigationManager NavigationManager
@@ -1,4 +1,5 @@
@page "/events/details"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@inject AppDbContext context
@inject NavigationManager NavigationManager
@@ -1,4 +1,5 @@
@page "/events/edit"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@inject AppDbContext context
@inject NavigationManager NavigationManager
@@ -1,4 +1,5 @@
@page "/events"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@using WebApp.Models
@inject AppDbContext Context
@@ -1,4 +1,5 @@
@using Microsoft.EntityFrameworkCore
@attribute [Authorize]
@page "/events/printout"
@inject IConfiguration Configuration
@inject AppDbContext Context
+1
View File
@@ -1,4 +1,5 @@
@page "/"
@attribute [Authorize]
@inject IConfiguration Configuration
<PageTitle>Home</PageTitle>
+1
View File
@@ -1,4 +1,5 @@
@page "/import"
@attribute [Authorize]
@using Core.Parsers
@using Microsoft.EntityFrameworkCore
@inject AppDbContext Context
@@ -1,7 +1,8 @@
@using System.Text
@page "/meeting-schedule"
@attribute [Authorize]
@using System.Text
@using Core.Calculation
@using Microsoft.EntityFrameworkCore
@page "/meeting-schedule"
@inject IConfiguration Configuration
@inject AppDbContext Context
@inject ClipboardService ClipboardService
@@ -1,4 +1,5 @@
@page "/students/create"
@attribute [Authorize]
@inject AppDbContext Context
@inject NavigationManager NavigationManager
@@ -1,4 +1,5 @@
@page "/students/details"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@using Core.Entities
@using Data
@@ -1,4 +1,5 @@
@page "/students/edit"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@inject AppDbContext Context
@inject NavigationManager NavigationManager
@@ -1,6 +1,7 @@
@using Microsoft.EntityFrameworkCore
@page "/students/event-ranking"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@using WebApp.Models
@page "/students/event-ranking"
@inject AppDbContext Context
@rendermode InteractiveServer
@@ -1,7 +1,8 @@
@using Microsoft.EntityFrameworkCore
@page "/students/event-ranking-edit/{StudentId:int}"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@using BlazorSortableList
@using WebApp.Models
@page "/students/event-ranking-edit/{StudentId:int}"
@inject AppDbContext Context
@inject NavigationManager NavigationManager
@@ -1,4 +1,5 @@
@page "/students"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@using WebApp.Models
@inject AppDbContext Context
@@ -1,4 +1,5 @@
@page "/teams/assignment"
@attribute [Authorize]
@using Core.Calculation
@using Microsoft.EntityFrameworkCore
@using WebApp.Models
@@ -1,4 +1,5 @@
@page "/teams/create"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@inject AppDbContext Context
@inject NavigationManager NavigationManager
@@ -1,4 +1,5 @@
@page "/teams/edit"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@inject AppDbContext Context
@inject NavigationManager NavigationManager
@@ -1,6 +1,7 @@
@using Microsoft.EntityFrameworkCore
@page "/teams/handout"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@using WebApp.Models
@page "/teams/handout"
@inject IConfiguration Configuration
@inject AppDbContext Context
@@ -1,5 +1,6 @@
@page "/teams"
@using Microsoft.EntityFrameworkCore
@using Microsoft.EntityFrameworkCore
@page "/teams"
@attribute [Authorize]
@inject AppDbContext Context
@inject IDialogService DialogService
@inject ISnackbar Snackbar
@@ -1,6 +1,7 @@
@using Microsoft.EntityFrameworkCore
@page "/teams/printout"
@attribute [Authorize]
@using Microsoft.EntityFrameworkCore
@using WebApp.Models
@page "/teams/printout"
@inject IConfiguration Configuration
@inject AppDbContext Context
+18 -4
View File
@@ -1,6 +1,20 @@
<Router AppAssembly="typeof(Program).Assembly">
@using WebApp.Components.Layout
@inject NavigationManager navigationManager
<Router AppAssembly="typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="routeData" DefaultLayout="typeof(Layout.MainLayout)" />
<FocusOnNavigate RouteData="routeData" Selector="h1" />
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
<NotAuthorized>
@{
navigationManager.NavigateTo("/login", true);
}
</NotAuthorized>
</AuthorizeRouteView>
<FocusOnNavigate RouteData="@routeData" Selector="h1"/>
</Found>
</Router>
<NotFound>
@{
navigationManager.NavigateTo("/login", true);
}
</NotFound>
</Router>
+2
View File
@@ -1,5 +1,7 @@
@using System.Net.Http
@using System.Net.Http.Json
@using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Components.Authorization
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web