网站首页 网站源码
website
站点相关全部源代码,隐藏了一些关于服务器的信息
@using Dpz.Core.Auth.Models
@model List<AuthApplicationModel>

@{
    ViewBag.Title = "授权管理";
    Layout = "_AdminLayout";
}

<div class="page-header mb-3">
    <h1 class="mb-1">已授权的应用</h1>
    <p class="text-body-secondary">查看你授予第三方应用的权限,必要时可以撤销</p>
    <div class="row g-2 mt-2">
        <div class="col-12 col-md">
            <div class="input-group">
                <span class="input-group-text">搜索</span>
                <input id="keyword" class="form-control" type="search" placeholder="按范围、状态或类型搜索" autocomplete="off" />
            </div>
        </div>
        <div class="col-12 col-md">
            <div class="input-group">
                <span class="input-group-text">应用</span>
                <select id="applicationFilter" class="form-select" autocomplete="off">
                    <option value="">全部应用</option>
                    @foreach (var app in (Model ?? []).OrderBy(x => x.DisplayName, StringComparer.OrdinalIgnoreCase))
                    {
                        <option value="@app.Id">@app.DisplayName</option>
                    }
                </select>
            </div>
        </div>
        <div class="col-6 col-md-auto">
            <div class="input-group">
                <span class="input-group-text">状态</span>
                <select id="statusFilter" class="form-select" autocomplete="off">
                    <option value="">全部</option>
                    <option value="valid">有效</option>
                    <option value="revoked">已撤销</option>
                    <option value="inactive">禁用</option>
                </select>
            </div>
        </div>
        <div class="col-6 col-md-auto">
            <div class="input-group">
                <span class="input-group-text">类型</span>
                <select id="typeFilter" class="form-select" autocomplete="off">
                    <option value="">全部</option>
                    <option value="permanent">永久授权</option>
                    <option value="ad-hoc">临时授权</option>
                </select>
            </div>
        </div>
        <div class="col-12 col-md-auto d-flex gap-2 justify-content-md-end">
            <button id="btnSearch" class="btn btn-primary" type="button">搜索</button>
            <button id="btnClear" class="btn btn-secondary" type="button">清空</button>
        </div>
    </div>
    <div class="text-body-secondary small mt-2">撤销授权将同时撤销相同 Subject、ApplicationId、Status、Type 的所有授权记录</div>
    <div class="text-body-secondary small">撤销后,你可能需要在对应应用重新登录并授权</div>
</div>

<div class="table-wrapper">
    <table class="table table-hover align-middle layui-table" id="authorizationTable" lay-filter="authorizationTable"></table>
</div>

<script type="text/html" id="authorizationTableActions">
    <div class="layui-btn-group">
        <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="revoke">撤销授权</a>
    </div>
</script>

@section Scripts {
    <script src="~/js/authorization-manage.js" asp-append-version="true"></script>
}
loading