This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
@page
|
||||
@model TaxBaik.Web.Pages.Admin.DashboardModel
|
||||
@{
|
||||
ViewData["Title"] = "대시보드";
|
||||
}
|
||||
|
||||
<section class="container py-5">
|
||||
<div class="d-flex flex-wrap justify-content-between align-items-end gap-3 mb-4">
|
||||
<div>
|
||||
<p class="text-uppercase text-muted small mb-2">TaxBaik Admin</p>
|
||||
<h1 class="h2 fw-bold mb-1">대시보드</h1>
|
||||
<p class="text-muted mb-0">관리자 업무 흐름의 시작점입니다.</p>
|
||||
</div>
|
||||
<div class="text-muted small">로그인 사용자: @User.Identity?.Name</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-3">
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm border-0 h-100">
|
||||
<div class="card-body">
|
||||
<div class="text-muted small text-uppercase mb-1">고객 관리</div>
|
||||
<h2 class="h5 mb-2">고객 목록</h2>
|
||||
<p class="text-muted mb-0">검색, 상세, 등록, 수정, 삭제 흐름을 이곳에서 정리합니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm border-0 h-100">
|
||||
<div class="card-body">
|
||||
<div class="text-muted small text-uppercase mb-1">DB 관리</div>
|
||||
<h2 class="h5 mb-2">Flyway migration</h2>
|
||||
<p class="text-muted mb-0">모든 스키마 변경은 SQL migration으로 추적합니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card shadow-sm border-0 h-100">
|
||||
<div class="card-body">
|
||||
<div class="text-muted small text-uppercase mb-1">인증</div>
|
||||
<h2 class="h5 mb-2">Cookie Authentication</h2>
|
||||
<p class="text-muted mb-0">JWT 대신 서버 쿠키로 관리자 세션을 유지합니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using TaxBaik.Web.Services;
|
||||
|
||||
namespace TaxBaik.Web.Pages.Admin;
|
||||
|
||||
[Authorize(AuthenticationSchemes = AdminAuthDefaults.Scheme)]
|
||||
public class DashboardModel : PageModel
|
||||
{
|
||||
public void OnGet()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
@page
|
||||
@model TaxBaik.Web.Pages.Admin.IndexModel
|
||||
@{
|
||||
ViewData["Title"] = "관리자 홈";
|
||||
}
|
||||
|
||||
<section class="container py-5">
|
||||
<div class="row align-items-center g-4">
|
||||
<div class="col-lg-8">
|
||||
<p class="text-uppercase text-muted small mb-2">TaxBaik Admin</p>
|
||||
<h1 class="display-6 fw-bold mb-3">고객관리 어드민</h1>
|
||||
<p class="lead text-muted mb-0">
|
||||
Razor Pages + Cookie Authentication + Dapper + Flyway 기준으로 정리하는 서버 렌더링 어드민입니다.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="card shadow-sm border-0">
|
||||
<div class="card-body p-4">
|
||||
<div class="d-grid gap-2">
|
||||
<a class="btn btn-dark" href="/admin/dashboard">대시보드</a>
|
||||
<a class="btn btn-outline-secondary" href="/admin/login?returnUrl=%2Fadmin%2Fdashboard">다시 로그인</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using TaxBaik.Web.Services;
|
||||
|
||||
namespace TaxBaik.Web.Pages.Admin;
|
||||
|
||||
[Authorize(AuthenticationSchemes = AdminAuthDefaults.Scheme)]
|
||||
public class IndexModel : PageModel
|
||||
{
|
||||
public void OnGet()
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user