网站首页 网站源码
website
站点相关全部源代码,隐藏了一些关于服务器的信息
@using System.Reflection
@using Dpz.Core.EnumLibrary
@model Dpz.Core.Public.ViewModel.VmUserInfo?
@{
    Layout = null;
}

<!DOCTYPE html>

<html lang="zh-Hans">

<head>
    <title>首页 - 认证中心</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <link rel="stylesheet" href="@Url.Content("~/css/global.css")" asp-append-version="true" />
    <link rel="stylesheet" href="https://dpangzi.com/library/bootstrap-icons/bootstrap-icons.min.css"/>
</head>

<body class="landing-page">
    <header class="hero">
        <div class="content-container">
            <h1 class="hero-title">
                统一身份认证 <span class="gradient-text">更安全</span> 更简单
            </h1>
            <p class="hero-subtitle">支持 OpenID Connect / OAuth2,提供可靠的登录、授权与令牌管理能力</p>
            <div class="hero-actions">
                @if (Model is null)
                {
                    <a class="btn btn-primary btn-lg" href="@Url.Action("Login", "Account")">
                        <i class="bi bi-box-arrow-in-right" aria-hidden="true"></i>
                        立即登录
                    </a>
                }
                else
                {
                    <span class="badge" style="height:48px;display:inline-flex;align-items:center;font-size:14px;gap:10px;">
                        @if (!string.IsNullOrWhiteSpace(Model.Avatar))
                        {
                            <img src="@Model.Avatar" alt="@Model.Name" style="width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid var(--border-color);" />
                        }
                        <span style="display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.2;">
                            <span style="white-space:nowrap;">@Model.Name</span>
                            <span style="white-space:nowrap;font-size:12px;color:var(--text-muted);">@Model.Id</span>
                        </span>
                    </span>
                    
                    @if (Model.Permissions != null && (Model.Permissions & Permissions.System) == Permissions.System)
                    {
                        <a class="btn btn-secondary btn-lg" href="@Url.Action("Index", "Application")">
                            <i class="bi bi-kanban" aria-hidden="true"></i>
                            管理客户端
                        </a>
                        <a class="btn btn-secondary btn-lg" href="@Url.Action("Index", "AuthorizationManage")">
                            <i class="bi bi-shield-lock" aria-hidden="true"></i>
                            管理授权
                        </a>                        
                        <a class="btn btn-secondary btn-lg" href="@Url.Action("Index", "Token")">
                            <i class="bi bi-key-fill" aria-hidden="true"></i>
                            Token管理
                        </a>
                        <a class="btn btn-secondary btn-lg" href="@Url.Action("Index", "AccessRequest")">
                            <i class="bi bi-person-check-fill" aria-hidden="true"></i>
                            申请审核
                        </a>
                        <a class="btn btn-secondary btn-lg" href="@Url.Action("Index", "Grant")">
                            <i class="bi bi-person-plus-fill" aria-hidden="true"></i>
                            主动授权
                        </a>
                    }
                    <a class="btn btn-secondary btn-lg" href="@Url.Action("ChangePassword", "Account")">
                        <i class="bi bi-key" aria-hidden="true"></i>
                        修改密码
                    </a>
                    <a class="btn btn-secondary btn-lg" href="@Url.Action("BindTwoFactor", "TwoFactor")">
                        <i class="bi bi-house-lock" aria-hidden="true"></i>
                        绑定2FA
                    </a>
                    <a class="btn btn-secondary btn-lg" href="@Url.Action("UnbindTwoFactor", "TwoFactor")">
                        <i class="bi bi-shield-x" aria-hidden="true"></i>
                        解绑2FA
                    </a>
                    <a class="btn btn-logout btn-lg" href="@Url.Action("Logout", "Account")">
                        <i class="bi bi-box-arrow-right" aria-hidden="true"></i>
                        登出
                    </a>
                }
            </div>
            <div class="stats">
                <div class="stat">
                    <strong>OIDC</strong>
                    <span>标准协议兼容</span>
                </div>
                <div class="stat">
                    <strong>2FA</strong>
                    <span>双因素认证支持</span>
                </div>
                <div class="stat">
                    <strong>SSO</strong>
                    <span>单点登录能力</span>
                </div>
            </div>
        </div>
    </header>

    <main class="section">
        <div class="content-container">
            <div class="features-grid">
                <div class="card">
                    <svg class="feature-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12l2-2 4 4 8-8 4 4"></path><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2z"></path></svg>
                    <h3>安全合规</h3>
                    <p>内置权限模型、作用域与令牌控制,支持最小权限原则与安全审计。</p>
                </div>
                <div class="card">
                    <svg class="feature-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 3h7v7H3z"></path><path d="M14 3h7v7h-7z"></path><path d="M14 14h7v7h-7z"></path><path d="M3 14h7v7H3z"></path></svg>
                    <h3>灵活扩展</h3>
                    <p>可按业务定制登录策略、声明映射、客户端类型与回调策略。</p>
                </div>
                <div class="card">
                    <svg class="feature-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z"></path></svg>
                    <h3>管理便捷</h3>
                    <p>客户端可视化管理、权限选择器与 2FA 防护,运维更高效。</p>
                </div>
            </div>
        </div>
    </main>

    <footer class="section" style="padding-top: 24px;">
        <div class="content-container" style="text-align:center;color:var(--text-muted);font-size:12px;">
            <div>© @DateTime.Now.Year Dpz.Core 认证中心 ·  Version:@Assembly.GetEntryAssembly()?.GetName().Version?.ToString()</div>
        </div>
    </footer>
</body>

</html>
loading