@page "/login" @attribute [AllowAnonymous] @inject AuthenticationStateProvider AuthStateProvider @inject NavigationManager NavigationManager @inject IConfiguration Configuration 로그인 - QuantEngine

QuantEngine

은퇴자산포트폴리오 투자 관리 시스템

@if (!string.IsNullOrEmpty(ErrorMessage)) {
@ErrorMessage
}
@code { private string Username { get; set; } = string.Empty; private string Password { get; set; } = string.Empty; private string ErrorMessage { get; set; } = string.Empty; private bool IsSubmitting { get; set; } = false; private async Task HandleLoginAsync() { ErrorMessage = string.Empty; if (string.IsNullOrWhiteSpace(Username) || string.IsNullOrWhiteSpace(Password)) { ErrorMessage = "아이디와 비밀번호를 모두 입력해 주세요."; return; } IsSubmitting = true; try { // Verify against configurations in appsettings.json var expectedUser = Configuration["AdminSettings:Username"] ?? "admin"; var expectedPass = Configuration["AdminSettings:Password"] ?? "quant123!"; if (Username == expectedUser && Password == expectedPass) { var customProvider = (CustomAuthenticationStateProvider)AuthStateProvider; await customProvider.MarkUserAsAuthenticatedAsync(Username); // Redirect back to home dashboard NavigationManager.NavigateTo(""); } else { ErrorMessage = "아이디 또는 비밀번호가 올바르지 않습니다."; } } catch (Exception ex) { ErrorMessage = $"로그인 중 오류가 발생했습니다: {ex.Message}"; } finally { IsSubmitting = false; } } }