feat: create Blazor-based login component with EmptyLayout

- Create Login.razor component at /login path with Blazor form
- Create EmptyLayout to prevent MainLayout wrapping on login page
- Update Program.cs to redirect unauthenticated users to /login (Blazor route)
- Integrate with CustomAuthenticationStateProvider for proper auth state management
- Handle authentication response and token storage

Note: Login flow still has routing issues - investigating dashboard redirect

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-07-06 00:49:55 +09:00
parent b906e0f282
commit 196570c0de
11 changed files with 589 additions and 10 deletions
+19 -2
View File
@@ -294,11 +294,28 @@
});
if (response.ok) {
// 아이디 저장
const data = await response.json();
// 토큰 저장 (Blazor 인증 상태에 필요)
if (data.accessToken) {
localStorage.setItem('quant_admin_access_token', data.accessToken);
}
// 사용자 정보 저장
if (data.username) {
localStorage.setItem('quant_admin_username', data.username);
}
if (data.role) {
localStorage.setItem('quant_admin_role', data.role);
}
// 아이디 자동입력 설정 저장
if (rememberUsername) {
localStorage.setItem('quant_admin_username', username);
localStorage.setItem('quant_admin_remember_username', 'true');
} else {
localStorage.removeItem('quant_admin_username');
localStorage.setItem('quant_admin_remember_username', 'false');
}
// 대시보드로 이동