Вывод данных из Mocks при успешной авторизации c#

Здравствуйт, делаю авторизацию c# asp net core mvc, у меня есть Mocks с данными пользователя

New Lis {
date=new DateTime(2002, 12,  12),
name="Иванов Максим Павлович",
personnelNumber=333555,
position="продавец",
salary=new decimal (200.05)
}

И есть Program.cs с авторизацией пользователя(взяла из metanit).

В сроке:

app.Map("/", [Authorize]() => $"Hello World!");

У меня то что выводится на страницу при успешной авторизации, как сделать чтоб выводил не текст а данные пользователя из Mocks?

P.S.В c# не особо разбираюсь по этому могу не правильно делать авторизацию вообще, но это единственное что нашла.

using Microsoft.AspNetCore.Authentication.Cookies;
using System.Security.Claims;
using Microsoft.AspNetCore.Authentication;
 
var builder = WebApplication.CreateBuilder();
 
// условная бд с пользователями
var people = new List<Person>
{
    new Person("[email protected]", "12345"),
    new Person("[email protected]", "55555")
};
// аутентификация с помощью куки
builder.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
    .AddCookie(options => options.LoginPath = "/login");
builder.Services.AddAuthorization();
 
var app = builder.Build();
 
app.UseAuthentication();   // добавление middleware аутентификации 
app.UseAuthorization();   // добавление middleware авторизации 
 
app.MapGet("/login", async (HttpContext context) =>
{
    context.Response.ContentType = "text/html; charset=utf-8";
    // html-форма для ввода логина/пароля
    string loginForm = @"<!DOCTYPE html>
    <html>
    <head>
        <meta charset='utf-8' />
        <title>METANIT.COM</title>
    </head>
    <body>
        <h2>Login Form</h2>
        <form method='post'>
            <p>
                <label>Email</label><br />
                <input name='email' />
            </p>
            <p>
                <label>Password</label><br />
                <input type='password' name='password' />
            </p>
            <input type='submit' value='Login' />
        </form>
    </body>
    </html>";
    await context.Response.WriteAsync(loginForm);
});
 
app.MapPost("/login", async (string? returnUrl, HttpContext context) =>
{
    // получаем из формы email и пароль
    var form = context.Request.Form;
    // если email и/или пароль не установлены, посылаем статусный код ошибки 400
    if (!form.ContainsKey("email") || !form.ContainsKey("password"))
        return Results.BadRequest("Email и/или пароль не установлены");
 
    string email = form["email"];
    string password = form["password"];
     
    // находим пользователя 
    Person? person = people.FirstOrDefault(p => p.Email == email && p.Password == password);
    // если пользователь не найден, отправляем статусный код 401
    if (person is null) return Results.Unauthorized();
 
    var claims = new List<Claim> { new Claim(ClaimTypes.Name, person.Email) };
    // создаем объект ClaimsIdentity
    ClaimsIdentity claimsIdentity = new ClaimsIdentity(claims, "Cookies");
    // установка аутентификационных куки
    await context.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity));
    return Results.Redirect(returnUrl??"/");
});
 
app.MapGet("/logout", async (HttpContext context) =>
{
    await context.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
    return Results.Redirect("/login");
});
 
app.Map("/", [Authorize]() => $"Hello World!");
 
app.Run();
 
record class Person(string Email, string Password);

Ответы (0 шт):