[Developer] #424 show filters and ORDS handler details

Refs #424
This commit is contained in:
devmrko
2026-06-23 14:30:22 +09:00
parent 09e25a2349
commit ae3dd6667e
11 changed files with 197 additions and 3 deletions

View File

@@ -21,6 +21,7 @@
<a class="nav-link" href="/objects">테이블/뷰</a>
<a class="nav-link" href="/tokens">토큰</a>
<a class="nav-link" href="/probe">ORDS 검증</a>
<a class="nav-link" href="/ords-handlers">ORDS 핸들러</a>
<a class="nav-link" href="/settings">설정</a>
</div>
<form method="post" action="/logout" class="ms-auto">

View File

@@ -0,0 +1,39 @@
<!doctype html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
<head th:replace="~{fragments/layout :: head('ORDS 핸들러')}"></head>
<body>
<nav th:replace="~{fragments/layout :: nav}"></nav>
<main class="container py-4">
<div class="page-title">
<h1>ORDS 핸들러</h1>
<p>Bearer Token을 DB 컨텍스트로 변환하는 ORDS Handler와 PL/SQL 흐름을 확인합니다.</p>
</div>
<section class="content-band" th:each="handler : ${handlers}">
<div class="section-heading">
<h2 th:text="${handler.method() + ' ' + handler.fullPath()}">POST /ords/...</h2>
<span class="badge text-bg-secondary" th:text="${handler.sourceType()}">plsql</span>
</div>
<div class="meta-row">
<span>Schema: <strong th:text="${handler.schemaName()}">CB_ORDS</strong></span>
<span>Module: <strong th:text="${handler.moduleName()}">cb.agent.security</strong></span>
<span>Template: <strong th:text="${handler.template()}">vpd/documents</strong></span>
</div>
<div class="probe-exchange-grid">
<section class="probe-exchange">
<h3>Header Bindings</h3>
<pre th:text="${handler.parameters()} ?: 'No parameters'"></pre>
</section>
<section class="probe-exchange">
<h3>Handler Source</h3>
<pre th:text="${handler.source()}"></pre>
</section>
<section class="probe-exchange span-2">
<h3>Bearer Token -> User Context Package</h3>
<pre th:text="${handler.packageSource()}"></pre>
</section>
</div>
</section>
</main>
</body>
</html>

View File

@@ -79,6 +79,7 @@
<th>테이블/뷰</th>
<th>Action</th>
<th>행 규칙</th>
<th>적용 필터</th>
<th>NULL 제외 컬럼</th>
<th></th>
</tr>
@@ -90,6 +91,7 @@
<td th:text="${permission.objectName()}">CB_V_SEARCH_DOCUMENTS</td>
<td th:text="${permission.action()}">SELECT</td>
<td th:text="${permission.rules()} ?: '-'">ALL</td>
<td><pre class="table-pre" th:text="${permission.filterPreview()} ?: '-'">ALL ROWS</pre></td>
<td th:text="${permission.visibleColumns()} ?: '-'">CONTENTS</td>
<td>
<form method="post" action="/permissions/delete" class="inline-form">
@@ -100,7 +102,7 @@
</td>
</tr>
<tr th:if="${#lists.isEmpty(permissions)}">
<td colspan="7" class="text-muted">등록된 권한이 없습니다.</td>
<td colspan="8" class="text-muted">등록된 권한이 없습니다.</td>
</tr>
</tbody>
</table>