승인 전 초대권 사용 시 포럼 접근 가능

당신의 포럼에는 다음과 같은 설정이 있습니다:

  1. login_required ON
  2. must_approve_users ON
  3. min_trust_level_to_allow_invite 2 : member

포럼 초대 기능을 테스트하던 중 다음과 같은 문제를 발견했습니다:

  1. TL2 사용자가 이메일을 통해 다른 사용자를 초대하고
  2. 해당 사용자가 이메일 내 초대 링크를 클릭하고
  3. 필드를 입력하고 제출하면

이런 일이 발생합니다 → 사용자는 바로 포럼 내부로 진입합니다(사전 승인된 것처럼). 그리고 원할 때 자유롭게 읽을 수 있습니다. 승인되기 전까지는 이렇게 해서는 안 됩니다.

사실상 해당 사용자는 여전히 미승인 상태입니다. 사이트를 다시 접근하려고 하면 표준 “승인되지 않았습니다” 메시지로 접근이 차단됩니다.

5개의 좋아요

실제로 2.8.0.beta10에서 이 문제를 재현할 수 있습니다 ( bbca25e875 )

3개의 좋아요

테스트 사이트에서 확인했습니다. (17ec3bc5b9)

  • 로그인 필수
  • 사용자 승인 필요
  • TL2가 초대장을 보낼 수 있음

그리고 초대받은 사용자는 승인 없이도 해당 '가입 방문’에서 게시물을 보고 게시할 수 있었습니다.

3개의 좋아요

이것은 복잡한 상황입니다.

현재 "계정이 승인될 때까지 잠시 기다려 주세요"에 대한 구현이 없습니다.

사실, 누군가를 포럼에 초대해 놓고 나서 막아 두는 것이 과연 합리적인지 의문이 듭니다.

즉각적인 임시 조치로는 tl2/3에서 초대를 비활성화하는 것이 좋을 것 같습니다. 이렇게 하면 이 특이한 문제를 일단 차단할 수 있습니다.

적어도 당분간은 must_approve_users가 켜져 있을 때 비스태프에 대한 초대를 완전히 비활성화해야 한다고 생각합니다.

@dan 의견 좀 부탁드립니다?

9개의 좋아요

완료했습니다. 물론 TL4에서는 여전히 이 문제가 발생하지만, 저는 TL4 장비를 가지고 있지 않아서 문제가 없습니다!

영구적인 해결책으로서 이 방식이 타당하다고 생각합니다.

제 고객들이 다른 사람들을 초대할 수 있다는 사실에 조금 놀랐습니다.

6개의 좋아요

이건 양쪽 모두 이해하기 때문에 좀 고민이 됩니다. 하지만 현재 상태는 약간 오해의 소지가 있다고 생각해요. 가입하는 모든 사용자가 승인받아야 하는 것은 아니니까요.

어느 정도는 커뮤니티와 사용자에 대한 신뢰도에 따라 달라질 것 같습니다. 미래에는 must_approve_users를 드롭다운으로 변경할 수 있을 것 같아요: 아니요, 예, 또는 초대되지 않은 경우.

이것을 제 할 일 목록에 추가할게요.

6개의 좋아요

https://github.com/discourse/discourse/commit/584c6a2e8bc705072b09a9c4b55126d6f8ed4ad2를 통해 해결되었습니다. @nathank님, 보고해 주셔서 감사합니다!

6개의 좋아요

이 주제는 31시간 후 자동으로 닫혔습니다. 더 이상 새 답변을 작성할 수 없습니다.