From de682ab7aeb0b2844de67e5573c66fa741286ead Mon Sep 17 00:00:00 2001 From: ChiaraBm Date: Wed, 21 May 2025 10:54:34 +0200 Subject: [PATCH] Switched to new permission handling for front and backend as the moonlight core did --- .../Admin/Nodes/NodeAllocationsController.cs | 11 +++++------ .../Controllers/Admin/Nodes/NodeStatusController.cs | 4 ++-- .../Http/Controllers/Admin/Nodes/NodesController.cs | 12 ++++++------ .../Admin/Servers/ServerVariablesController.cs | 4 ++-- .../Controllers/Admin/Servers/ServersController.cs | 8 ++++---- .../Admin/Stars/StarDockerImagesController.cs | 12 ++++++------ .../Admin/Stars/StarImportExportController.cs | 6 +++--- .../Admin/Stars/StarVariablesController.cs | 12 ++++++------ .../Http/Controllers/Admin/Stars/StarsController.cs | 12 ++++++------ .../Implementations/SidebarImplementation.cs | 1 + .../UI/Views/Admin/All/Create.razor | 2 ++ .../UI/Views/Admin/All/Index.razor | 2 ++ .../UI/Views/Admin/All/Update.razor | 2 ++ MoonlightServers.Frontend/UI/Views/Admin/Index.razor | 2 ++ .../UI/Views/Admin/Nodes/Create.razor | 2 ++ .../UI/Views/Admin/Nodes/Index.razor | 2 ++ .../UI/Views/Admin/Nodes/Update.razor | 2 ++ .../UI/Views/Admin/Stars/Create.razor | 2 ++ .../UI/Views/Admin/Stars/Index.razor | 2 ++ .../UI/Views/Admin/Stars/Update.razor | 2 ++ 20 files changed, 61 insertions(+), 41 deletions(-) diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodeAllocationsController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodeAllocationsController.cs index 4e524b4..6e8b4fa 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodeAllocationsController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodeAllocationsController.cs @@ -1,10 +1,9 @@ using System.ComponentModel.DataAnnotations; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using MoonCore.Extended.PermFilter; using MoonCore.Exceptions; using MoonCore.Extended.Abstractions; -using MoonCore.Extended.Helpers; using MoonCore.Models; using MoonlightServers.ApiServer.Database.Entities; using MoonlightServers.Shared.Http.Requests.Admin.NodeAllocations; @@ -29,7 +28,7 @@ public class NodeAllocationsController : Controller } [HttpGet("{nodeId:int}/allocations")] - [RequirePermission("admin.servers.nodes.get")] + [Authorize(Policy = "permissions:admin.servers.nodes.get")] public async Task> Get( [FromRoute] int nodeId, [FromQuery] int page, @@ -63,7 +62,7 @@ public class NodeAllocationsController : Controller } [HttpGet("{nodeId:int}/allocations/{id:int}")] - [RequirePermission("admin.servers.nodes.get")] + [Authorize(Policy = "permissions:admin.servers.nodes.get")] public async Task GetSingle([FromRoute] int nodeId, [FromRoute] int id) { var allocation = await AllocationRepository @@ -83,7 +82,7 @@ public class NodeAllocationsController : Controller } [HttpPost("{nodeId:int}/allocations")] - [RequirePermission("admin.servers.nodes.create")] + [Authorize(Policy = "permissions:admin.servers.nodes.create")] public async Task Create( [FromRoute] int nodeId, [FromBody] CreateNodeAllocationRequest request @@ -202,7 +201,7 @@ public class NodeAllocationsController : Controller } [HttpGet("{nodeId:int}/allocations/free")] - [RequirePermission("admin.servers.nodes.get")] + [Authorize(Policy = "permissions:admin.servers.nodes.get")] public async Task> GetFree([FromRoute] int nodeId, [FromQuery] int page, [FromQuery][Range(1, 100)] int pageSize, [FromQuery] int serverId = -1) { diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodeStatusController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodeStatusController.cs index a0ad71a..44c00ae 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodeStatusController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodeStatusController.cs @@ -2,7 +2,7 @@ using System.Diagnostics; using Microsoft.AspNetCore.Mvc; using MoonCore.Exceptions; using MoonCore.Extended.Abstractions; -using MoonCore.Extended.PermFilter; +using Microsoft.AspNetCore.Authorization; using MoonlightServers.ApiServer.Database.Entities; using MoonlightServers.ApiServer.Services; using MoonlightServers.Shared.Http.Responses.Admin.Nodes.Sys; @@ -23,7 +23,7 @@ public class NodeStatusController : Controller } [HttpGet("{nodeId}/system/status")] - [RequirePermission("admin.servers.nodes.status")] + [Authorize(Policy = "permissions:admin.servers.nodes.status")] public async Task GetStatus([FromRoute] int nodeId) { var node = GetNode(nodeId); diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodesController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodesController.cs index 884c59c..c399916 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodesController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Nodes/NodesController.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using MoonCore.Extended.Abstractions; using MoonCore.Extended.Helpers; -using MoonCore.Extended.PermFilter; +using Microsoft.AspNetCore.Authorization; using MoonCore.Helpers; using MoonCore.Models; using MoonlightServers.ApiServer.Database.Entities; @@ -29,21 +29,21 @@ public class NodesController : Controller } [HttpGet] - [RequirePermission("admin.servers.nodes.get")] + [Authorize(Policy = "permissions:admin.servers.nodes.get")] public async Task> Get([FromQuery] int page, [FromQuery] int pageSize) { return await CrudHelper.Get(page, pageSize); } [HttpGet("{id:int}")] - [RequirePermission("admin.servers.nodes.get")] + [Authorize(Policy = "permissions:admin.servers.nodes.get")] public async Task GetSingle([FromRoute] int id) { return await CrudHelper.GetSingle(id); } [HttpPost] - [RequirePermission("admin.servers.nodes.create")] + [Authorize(Policy = "permissions:admin.servers.nodes.create")] public async Task Create([FromBody] CreateNodeRequest request) { var node = Mapper.Map(request); @@ -57,14 +57,14 @@ public class NodesController : Controller } [HttpPatch("{id:int}")] - [RequirePermission("admin.servers.nodes.update")] + [Authorize(Policy = "permissions:admin.servers.nodes.update")] public async Task Update([FromRoute] int id, [FromBody] UpdateNodeRequest request) { return await CrudHelper.Update(id, request); } [HttpDelete("{id:int}")] - [RequirePermission("admin.servers.nodes.delete")] + [Authorize(Policy = "permissions:admin.servers.nodes.delete")] public async Task Delete([FromRoute] int id) { await CrudHelper.Delete(id); diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServerVariablesController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServerVariablesController.cs index 8dc263e..618f65d 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServerVariablesController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServerVariablesController.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using MoonCore.Extended.PermFilter; +using Microsoft.AspNetCore.Authorization; using MoonCore.Exceptions; using MoonCore.Extended.Abstractions; using MoonCore.Helpers; @@ -24,7 +24,7 @@ public class ServerVariablesController : Controller } [HttpGet("{serverId}/variables")] - [RequirePermission("admin.servers.get")] + [Authorize(Policy = "permissions:admin.servers.get")] public async Task> Get([FromRoute] int serverId, [FromQuery] int page, [FromQuery] int pageSize) { var server = await ServerRepository diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServersController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServersController.cs index 831b1e4..b5f15bf 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServersController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServersController.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using MoonCore.Extended.PermFilter; +using Microsoft.AspNetCore.Authorization; using MoonCore.Exceptions; using MoonCore.Extended.Abstractions; using MoonCore.Extended.Helpers; @@ -67,21 +67,21 @@ public class ServersController : Controller } [HttpGet] - [RequirePermission("admin.servers.get")] + [Authorize(Policy = "permissions:admin.servers.get")] public async Task> Get([FromQuery] int page, [FromQuery] int pageSize) { return await CrudHelper.Get(page, pageSize); } [HttpGet("{id:int}")] - [RequirePermission("admin.servers.get")] + [Authorize(Policy = "permissions:admin.servers.get")] public async Task GetSingle([FromRoute] int id) { return await CrudHelper.GetSingle(id); } [HttpPost] - [RequirePermission("admin.servers.create")] + [Authorize(Policy = "permissions:admin.servers.create")] public async Task Create([FromBody] CreateServerRequest request) { // Construct model diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarDockerImagesController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarDockerImagesController.cs index 3948de6..cedb349 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarDockerImagesController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarDockerImagesController.cs @@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore; using MoonCore.Exceptions; using MoonCore.Extended.Abstractions; using MoonCore.Extended.Helpers; -using MoonCore.Extended.PermFilter; +using Microsoft.AspNetCore.Authorization; using MoonCore.Helpers; using MoonCore.Models; using MoonlightServers.ApiServer.Database.Entities; @@ -49,7 +49,7 @@ public class StarDockerImagesController : Controller } [HttpGet("{starId:int}/dockerImages")] - [RequirePermission("admin.servers.stars.get")] + [Authorize(Policy = "permissions:admin.servers.stars.get")] public async Task> Get([FromRoute] int starId, [FromQuery] int page, [FromQuery] int pageSize) { await ApplyStar(starId); @@ -58,7 +58,7 @@ public class StarDockerImagesController : Controller } [HttpGet("{starId:int}/dockerImages/{id:int}")] - [RequirePermission("admin.servers.stars.get")] + [Authorize(Policy = "permissions:admin.servers.stars.get")] public async Task GetSingle([FromRoute] int starId, [FromRoute] int id) { await ApplyStar(starId); @@ -67,7 +67,7 @@ public class StarDockerImagesController : Controller } [HttpPost("{starId:int}/dockerImages")] - [RequirePermission("admin.servers.stars.create")] + [Authorize(Policy = "permissions:admin.servers.stars.create")] public async Task Create([FromRoute] int starId, [FromBody] CreateStarDockerImageRequest request) { await ApplyStar(starId); @@ -81,7 +81,7 @@ public class StarDockerImagesController : Controller } [HttpPatch("{starId:int}/dockerImages/{id:int}")] - [RequirePermission("admin.servers.stars.update")] + [Authorize(Policy = "permissions:admin.servers.stars.update")] public async Task Update([FromRoute] int starId, [FromRoute] int id, [FromBody] UpdateStarDockerImageRequest request) { @@ -91,7 +91,7 @@ public class StarDockerImagesController : Controller } [HttpDelete("{starId:int}/dockerImages/{id:int}")] - [RequirePermission("admin.servers.stars.delete")] + [Authorize(Policy = "permissions:admin.servers.stars.delete")] public async Task Delete([FromRoute] int starId, [FromRoute] int id) { await ApplyStar(starId); diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarImportExportController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarImportExportController.cs index 3bcf473..3256272 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarImportExportController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarImportExportController.cs @@ -1,6 +1,6 @@ using System.Text; using Microsoft.AspNetCore.Mvc; -using MoonCore.Extended.PermFilter; +using Microsoft.AspNetCore.Authorization; using MoonCore.Exceptions; using MoonCore.Helpers; using MoonlightServers.ApiServer.Services; @@ -20,7 +20,7 @@ public class StarImportExportController : Controller } [HttpGet("{starId:int}/export")] - [RequirePermission("admin.servers.stars.get")] + [Authorize(Policy = "permissions:admin.servers.stars.get")] public async Task Export([FromRoute] int starId) { var exportedStar = await ImportExportService.Export(starId); @@ -31,7 +31,7 @@ public class StarImportExportController : Controller } [HttpPost("import")] - [RequirePermission("admin.servers.stars.create")] + [Authorize(Policy = "permissions:admin.servers.stars.create")] public async Task Import() { if (Request.Form.Files.Count == 0) diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarVariablesController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarVariablesController.cs index 8d72c8c..43c3460 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarVariablesController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarVariablesController.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using MoonCore.Extended.PermFilter; +using Microsoft.AspNetCore.Authorization; using MoonCore.Exceptions; using MoonCore.Extended.Abstractions; using MoonCore.Extended.Helpers; @@ -48,7 +48,7 @@ public class StarVariablesController : Controller } [HttpGet("{starId:int}/variables")] - [RequirePermission("admin.servers.stars.get")] + [Authorize(Policy = "permissions:admin.servers.stars.get")] public async Task> Get([FromRoute] int starId, [FromQuery] int page, [FromQuery] int pageSize) { await ApplyStar(starId); @@ -57,7 +57,7 @@ public class StarVariablesController : Controller } [HttpGet("{starId:int}/variables/{id:int}")] - [RequirePermission("admin.servers.stars.get")] + [Authorize(Policy = "permissions:admin.servers.stars.get")] public async Task GetSingle([FromRoute] int starId, [FromRoute] int id) { await ApplyStar(starId); @@ -66,7 +66,7 @@ public class StarVariablesController : Controller } [HttpPost("{starId:int}/variables")] - [RequirePermission("admin.servers.stars.create")] + [Authorize(Policy = "permissions:admin.servers.stars.create")] public async Task Create([FromRoute] int starId, [FromBody] CreateStarVariableRequest request) { await ApplyStar(starId); @@ -80,7 +80,7 @@ public class StarVariablesController : Controller } [HttpPatch("{starId:int}/variables/{id:int}")] - [RequirePermission("admin.servers.stars.update")] + [Authorize(Policy = "permissions:admin.servers.stars.update")] public async Task Update([FromRoute] int starId, [FromRoute] int id, [FromBody] UpdateStarVariableRequest request) { @@ -96,7 +96,7 @@ public class StarVariablesController : Controller } [HttpDelete("{starId:int}/variables/{id:int}")] - [RequirePermission("admin.servers.stars.delete")] + [Authorize(Policy = "permissions:admin.servers.stars.delete")] public async Task Delete([FromRoute] int starId, [FromRoute] int id) { await ApplyStar(starId); diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarsController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarsController.cs index 7901b14..2c55b02 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarsController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Stars/StarsController.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using MoonCore.Extended.PermFilter; +using Microsoft.AspNetCore.Authorization; using MoonCore.Extended.Abstractions; using MoonCore.Extended.Helpers; using MoonCore.Helpers; @@ -27,21 +27,21 @@ public class StarsController : Controller } [HttpGet] - [RequirePermission("admin.servers.stars.get")] + [Authorize(Policy = "permissions:admin.servers.stars.get")] public async Task> Get([FromQuery] int page, [FromQuery] int pageSize) { return await CrudHelper.Get(page, pageSize); } [HttpGet("{id:int}")] - [RequirePermission("admin.servers.stars.get")] + [Authorize(Policy = "permissions:admin.servers.stars.get")] public async Task GetSingle([FromRoute] int id) { return await CrudHelper.GetSingle(id); } [HttpPost] - [RequirePermission("admin.servers.stars.create")] + [Authorize(Policy = "permissions:admin.servers.stars.create")] public async Task Create([FromBody] CreateStarRequest request) { var star = Mapper.Map(request); @@ -67,14 +67,14 @@ public class StarsController : Controller } [HttpPatch("{id:int}")] - [RequirePermission("admin.servers.stars.update")] + [Authorize(Policy = "permissions:admin.servers.stars.update")] public async Task Update([FromRoute] int id, [FromBody] UpdateStarRequest request) { return await CrudHelper.Update(id, request); } [HttpDelete("{id:int}")] - [RequirePermission("admin.servers.stars.delete")] + [Authorize(Policy = "permissions:admin.servers.stars.delete")] public async Task Delete([FromRoute] int id) { await CrudHelper.Delete(id); diff --git a/MoonlightServers.Frontend/Implementations/SidebarImplementation.cs b/MoonlightServers.Frontend/Implementations/SidebarImplementation.cs index cdea165..74d8a60 100644 --- a/MoonlightServers.Frontend/Implementations/SidebarImplementation.cs +++ b/MoonlightServers.Frontend/Implementations/SidebarImplementation.cs @@ -22,6 +22,7 @@ public class SidebarImplementation : ISidebarItemProvider Path = "/admin/servers", Icon = "icon-server", Group = "Admin", + Policy = "permissions:admin.servers.overview", Priority = 4 } ] diff --git a/MoonlightServers.Frontend/UI/Views/Admin/All/Create.razor b/MoonlightServers.Frontend/UI/Views/Admin/All/Create.razor index ed5d2b9..f7a4e59 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/All/Create.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/All/Create.razor @@ -10,6 +10,8 @@ @inject NavigationManager Navigation @inject ToastService ToastService +@attribute [Authorize(Policy = "permissions:admin.servers.create")] + diff --git a/MoonlightServers.Frontend/UI/Views/Admin/All/Index.razor b/MoonlightServers.Frontend/UI/Views/Admin/All/Index.razor index c368b87..f67e6b7 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/All/Index.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/All/Index.razor @@ -14,6 +14,8 @@ @inject AlertService AlertService @inject ToastService ToastService +@attribute [Authorize(Policy = "permissions:admin.servers.get")] +
diff --git a/MoonlightServers.Frontend/UI/Views/Admin/All/Update.razor b/MoonlightServers.Frontend/UI/Views/Admin/All/Update.razor index 58061d3..7a9e171 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/All/Update.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/All/Update.razor @@ -11,6 +11,8 @@ @inject NavigationManager Navigation @inject ToastService ToastService +@attribute [Authorize(Policy = "permissions:admin.servers.update")] +
diff --git a/MoonlightServers.Frontend/UI/Views/Admin/Index.razor b/MoonlightServers.Frontend/UI/Views/Admin/Index.razor index 3ba2571..1cd8451 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/Index.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/Index.razor @@ -2,5 +2,7 @@ @using MoonCore.Blazor.Tailwind.Components +@attribute [Authorize(Policy = "permissions:admin.servers.overview")] + diff --git a/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Create.razor b/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Create.razor index b99d0a6..8dc5676 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Create.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Create.razor @@ -9,6 +9,8 @@ @inject NavigationManager Navigation @inject ToastService ToastService +@attribute [Authorize(Policy = "permissions:admin.servers.nodes.create")] + diff --git a/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Index.razor b/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Index.razor index acf55d5..0426abd 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Index.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Index.razor @@ -15,6 +15,8 @@ @inject AlertService AlertService @inject ToastService ToastService +@attribute [Authorize(Policy = "permissions:admin.servers.nodes.get")] +
diff --git a/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Update.razor b/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Update.razor index b88746c..44ccb72 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Update.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/Nodes/Update.razor @@ -11,6 +11,8 @@ @inject NavigationManager Navigation @inject ToastService ToastService +@attribute [Authorize(Policy = "permissions:admin.servers.nodes.update")] +
diff --git a/MoonlightServers.Frontend/UI/Views/Admin/Stars/Create.razor b/MoonlightServers.Frontend/UI/Views/Admin/Stars/Create.razor index b55faed..ad0ecfd 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/Stars/Create.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/Stars/Create.razor @@ -10,6 +10,8 @@ @inject NavigationManager Navigation @inject ToastService ToastService +@attribute [Authorize(Policy = "permissions:admin.servers.stars.create")] + diff --git a/MoonlightServers.Frontend/UI/Views/Admin/Stars/Index.razor b/MoonlightServers.Frontend/UI/Views/Admin/Stars/Index.razor index b1d5c1e..8d132c0 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/Stars/Index.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/Stars/Index.razor @@ -15,6 +15,8 @@ @inject ToastService ToastService @inject AlertService AlertService +@attribute [Authorize(Policy = "permissions:admin.servers.stars.get")] +
diff --git a/MoonlightServers.Frontend/UI/Views/Admin/Stars/Update.razor b/MoonlightServers.Frontend/UI/Views/Admin/Stars/Update.razor index 8be3d58..57885d0 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/Stars/Update.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/Stars/Update.razor @@ -11,6 +11,8 @@ @inject NavigationManager Navigation @inject ToastService ToastService +@attribute [Authorize(Policy = "permissions:admin.servers.stars.update")] +