31 lines
979 B
C#
31 lines
979 B
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
using EonaCat.LogStack.Status.Services;
|
|
|
|
namespace EonaCat.LogStack.Status.Pages.Admin;
|
|
|
|
// This file is part of the EonaCat project(s) which is released under the Apache License.
|
|
// See the LICENSE file or go to https://EonaCat.com/License for full license details.
|
|
|
|
public class LoginModel : PageModel
|
|
{
|
|
private readonly AuthenticationService _auth;
|
|
public LoginModel(AuthenticationService auth) => _auth = auth;
|
|
|
|
[BindProperty] public string Password { get; set; } = "";
|
|
public string? Error { get; set; }
|
|
|
|
public void OnGet() { }
|
|
|
|
public async Task<IActionResult> OnPostAsync()
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(Password) && await _auth.ValidatePasswordAsync(Password))
|
|
{
|
|
HttpContext.Session.SetString("IsAdmin", "true");
|
|
return RedirectToPage("/Index");
|
|
}
|
|
Error = "Invalid password.";
|
|
return Page();
|
|
}
|
|
}
|