Skip to content

[Fix] STOMP 구독 목적지 인가 정책 보강 #358

Description

@Gimini-3

문제

현재 STOMP 인가 로직은 정확한 dashboard 목적지만 검사하지만, SimpleBroker는 pattern 형태의 구독도
처리합니다. 이 차이로 인가 대상 목적지를 다른 형태로 구독할 수 있고, RAG 사용자 queue와
dashboard 이외 목적지의 client SEND도 명시적인 정책 없이 열려 있습니다.

목표

  • client가 구독할 수 있는 목적지를 정확한 허용 목록으로 제한합니다.
  • /topic/dashboard는 ROLE_ADMIN만 구독할 수 있게 유지합니다.
  • /user/queue/rag-answer는 인증된 사용자만 구독할 수 있게 유지합니다.
  • pattern, 내부 broker queue, 알 수 없는 목적지 구독을 거부합니다.
  • 서버만 push를 발행하는 현재 구조에 맞춰 client SEND를 거부합니다.
  • 실제 WebSocket과 SimpleBroker를 포함한 회귀 테스트를 추가합니다.

비목표

  • 로그아웃·token 만료 후 이미 열린 session을 강제로 종료하는 정책은 다루지 않습니다.
  • 새로운 WebSocket destination이나 client message 기능을 추가하지 않습니다.

완료 조건

  • 현재 프런트의 dashboard와 RAG 정확한 구독이 정상 동작합니다.
  • 권한 없는 dashboard 구독, pattern 구독, 알 수 없는 목적지, client SEND가 거부됩니다.
  • 단위·통합·전체 Backend 테스트와 build가 통과합니다.
  • 설계와 실행 결과를 각각 docs/design, docs/test-results에 기록합니다.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions