Implemented new permission and identity system

This commit is contained in:
Marcel Baumgartner
2023-07-17 00:48:27 +02:00
parent 74d4ee729d
commit 0a86aa8aa4
86 changed files with 2372 additions and 2107 deletions

View File

@@ -49,9 +49,10 @@
private PasswordModel Password = new();
private User User;
private async Task Load(LazyLoader loader)
private Task Load(LazyLoader loader)
{
User = await IdentityService.Get();
User = IdentityService.User;
return Task.CompletedTask;
}
private async Task DoChange()

View File

@@ -50,9 +50,10 @@
private User User;
private NameModel Name = new ();
private async Task Load(LazyLoader loader)
private Task Load(LazyLoader loader)
{
User = await IdentityService.Get();
User = IdentityService.User;
return Task.CompletedTask;
}
private async Task SetName()

View File

@@ -57,7 +57,7 @@ else
{
receivedExceptions.Add(exception);
var user = await IdentityService.Get();
var user = IdentityService.User;
var id = user == null ? -1 : user.Id;
Logger.Error($"[{id}] An unhanded exception occured:");

View File

@@ -1,5 +1,8 @@
@using Moonlight.App.Database.Entities
@using Moonlight.App.Models.Misc
@using Moonlight.App.Services.Sessions
@inject IdentityService IdentityService
<div class="card mb-5 mb-xl-10">
<div class="card-body pt-9 pb-0">
@@ -8,16 +11,16 @@
<div class="d-flex justify-content-between align-items-start flex-wrap mb-2">
<div class="d-flex flex-column">
<div class="d-flex align-items-center mb-2">
<a class="text-gray-900 fs-2 fw-bold me-1 @(User.StreamerMode ? "blur" : "")">@(User.FirstName) @(User.LastName)</a>
<a class="text-gray-900 fs-2 fw-bold me-1 @(IdentityService.User.StreamerMode ? "blur" : "")">@(IdentityService.User.FirstName) @(IdentityService.User.LastName)</a>
@if (User.Status == UserStatus.Verified)
@if (IdentityService.User.Status == UserStatus.Verified)
{
<i class="text-success bx bx-md bxs-badge-check"></i>
}
</div>
<div class="d-flex flex-wrap fw-semibold fs-6 mb-4 pe-2">
<span class="d-flex align-items-center text-gray-400 mb-2 @(User.StreamerMode ? "blur" : "")">
@(User.Email)
<span class="d-flex align-items-center text-gray-400 mb-2 @(IdentityService.User.StreamerMode ? "blur" : "")">
@(IdentityService.User.Email)
</span>
</div>
</div>
@@ -51,9 +54,6 @@
@code
{
[CascadingParameter]
public User User { get; set; }
[Parameter]
public int Index { get; set; } = 0;
}

View File

@@ -106,7 +106,7 @@
{
if (firstRender)
{
User = await IdentityService.Get();
User = IdentityService.User;
await InvokeAsync(StateHasChanged);
}

View File

@@ -54,7 +54,7 @@ else
if (!Allowed)
{
Logger.Warn($"{IdentityService.GetIp()} has tried to access {NavigationManager.Uri} without permission", "security");
Logger.Warn($"{IdentityService.Ip} has tried to access {NavigationManager.Uri} without permission", "security");
}
return Task.CompletedTask;

View File

@@ -49,7 +49,7 @@
{
if (firstRender)
{
User = await IdentityService.Get();
User = IdentityService.User;
sidebar = await JsRuntime.InvokeAsync<string>("document.body.getAttribute", "data-kt-app-layout");
StateHasChanged();
}

View File

@@ -228,7 +228,7 @@ else
{
if (firstRender)
{
User = await IdentityService.Get();
User = IdentityService.User;
await InvokeAsync(StateHasChanged);
}

View File

@@ -1,28 +0,0 @@
@using Moonlight.App.Services.Sessions
@using Moonlight.App.Database.Entities
@if (User != null)
{
if (User.Admin)
{
@ChildContent
}
else if(!Silent)
{
<div class="alert alert-danger">
<TL>Missing admin permissions. This attempt has been logged ;)</TL>
</div>
}
}
@code
{
[Parameter]
public RenderFragment ChildContent { get; set; }
[CascadingParameter]
public User? User { get; set; }
[Parameter]
public bool Silent { get; set; } = false;
}