Skip to content

[Fix] 관리자 역할 회수 후 WebSocket 대시보드 접근 차단 #371

Description

@Gimini-3

배경

PR #366의 실제 PostgreSQL·Redis 통합 시험에서 ADMIN 역할 회수 API가 완료되어도 기존 WebSocket 세션은 다음 주기 재검증 전까지 /topic/dashboard의 새 구독과 메시지 수신이 가능했습니다. CONNECT 시점의 역할 스냅샷이 이후 권한 판단에 사용되기 때문입니다.

목표

  • 역할 회수 API가 성공 응답을 완료한 뒤 시작한 새 /topic/dashboard SUBSCRIBE를 거부합니다.
  • 이미 구독 중인 세션에도 회수 완료 뒤 새로 발행한 대시보드 메시지를 전달하지 않습니다.
  • 최신 권한을 확인할 수 없을 때 캐시된 ADMIN 권한으로 통과시키지 않습니다.
  • 정상 ADMIN 및 일반 RAG WebSocket 경로를 회귀 검증합니다.

검증

  • 결정적 로컬 테스트와 실제 PostgreSQL·Redis 통합 테스트에서 회수 전/후 구독 및 메시지 수신을 비교합니다.
  • 권한 확인이 primary DB에 도달하는지 확인하고, 장애 시 fail-closed 동작을 시험합니다.
  • 주기 재검증을 강제로 호출하지 않고도 차단되는지 확인합니다.
  • 성능 비용과 이미 권한 검사 중이던 in-flight 메시지의 한계를 문서화합니다.

범위

WebSocket 관리자 대시보드 접근의 회수 즉시성만 다룹니다. OpenProxy·Patroni 장애 주입과 전체 HA 부하 시험은 별도 작업입니다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions