Files
2026-06-26 10:13:45 +09:00
..
2026-06-26 10:13:45 +09:00

Redmine #489 - VPD 적용 대상 목록 필터/검색 설계

프로젝트 개요

VPD Backoffice는 Oracle Database VPD/ORDS 기능을 백오피스 권한 테이블로 제어하기 위한 Spring Boot 관리 도구다. 운영자는 Oracle catalog의 TABLE/VIEW 중 VPD 적용 대상과 권한 등록 상태를 확인하고, 개별 또는 벌크로 VPD policy를 적용한다.

목표

VPD 설정 화면의 VPD 적용 대상 TABLE/VIEW 목록에서 업무 객체를 빠르게 찾을 수 있게 한다. DB catalog 원본은 유지하되, 기본 화면에서는 백오피스 지원 테이블을 숨기고 검색/필터/표시 건수 제어를 제공한다.

문제

캡처 기준:

  • /tmp/vpd-ux-audit/screenshots/desktop-vpd-policies.png
  • /tmp/vpd-ux-audit/screenshots/mobile-vpd-policies.png

확인된 문제:

  • 지원 테이블(CB_APP_*, CB_PERMISSION*, CB_PROTECTED_*, CB_USER_* 등)과 업무 TABLE/VIEW가 섞여 보인다.
  • 목록이 길어 개별 적용 폼까지 이동하기 전에 운영자가 맥락을 잃는다.
  • schema 조회는 있으나 object 검색, type, VPD 상태, 권한 등록 상태 필터가 없다.

설계

  • 서버의 catalog 조회 결과는 그대로 둔다.
  • 클라이언트 필터를 추가해 현재 페이지의 목록을 즉시 좁힌다.
  • 기본값은 백오피스 지원 테이블 제외로 둔다.
  • 지원 테이블 포함 여부, 검색어, object type, VPD 적용 상태, 권한 등록 상태, 표시 건수를 조합한다.
  • 숨김은 primary row와 filter detail row를 한 쌍으로 처리한다.

완료 기준

  • 기본 화면에서 백오피스 지원 테이블이 숨겨진다.
  • 사용자는 checkbox로 지원 테이블을 다시 포함할 수 있다.
  • object 검색, TABLE/VIEW, VPD 상태, 권한 등록 상태, 표시 건수 필터가 동작한다.
  • 필터 결과 건수와 전체 건수가 표시된다.
  • 모바일 390px에서 body horizontal overflow가 없어야 한다.

검증

  • mvn test
  • Playwright:
    • /vpd-policies에서 기본 표시 건수와 지원 테이블 숨김 확인
    • 지원 테이블 포함 checkbox 동작 확인
    • 검색어 BOARD 입력 시 matching row 확인
    • 390px viewport overflow 확인