해당 주제와 함께, 다음 내용을 읽었습니다. Group trust level
그리고 이 오래된 주제도 함께 참고했습니다. Should losing group membership unlock trust level?
여기서 설명된 상황은 제 경험과 거의 일치합니다.
하지만, 제 자체 테스트용 Discourse 인스턴스에서 발견한 내용은 다음과 같습니다…
모든 Trust Level 설정이 기본값인 상태에서, TL1 계정(U)과 Trust_Level_3을 부여하는 tl3이라는 이름의 그룹이 있습니다.
- 초기 조건
- Trust Level:
1: basic userUnlocked - Automatic Groups:
trust_level_0,trust_level_1 - Custom Groups: 없음
- Trust Level:
- U를 tl3에 추가
- Trust Level:
3: RegularUnlocked - Automatic Groups:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Custom Groups: tl3
- Trust Level:
- U를 tl3에서 제거
- Trust Level:
2: MemberUnlocked - Automatic Groups:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Custom Groups: 없음
- 참고: 신뢰 수준이 2임에도 불구하고, 사용자는 여전히 자동 그룹
trust_level_3에 속해 있습니다. 신뢰 수준이 잠기지 않으면 사용자가 TL1로 강등될 수 없다는 점을 고려할 때, 여기서는 사용자가 즉시trust_level_2자동 그룹의 멤버십을 잃어야 하는 것이 예상되는 결과입니다.
- Trust Level:
- U의 신뢰 수준 잠금
- Trust Level:
2: MemberLocked - Automatic Groups:
trust_level_0,trust_level_1,trust_level_2,trust_level_3 - Custom Groups: 없음
- 참고: 신뢰 수준이
2: Member임에도 불구하고, 사용자는 여전히 자동 그룹trust_level_3에 속해 있습니다.
- Trust Level:
- U의 신뢰 수준 잠금 해제
- Trust Level:
1: BasicUnlocked - Automatic Groups:
trust_level_0,trust_level_1 - Custom Groups: 없음
- Trust Level:
즉, 사용자가 그룹에서 제외될 때 신뢰 수준은 자동으로 즉시 재계산되지만, 자동 그룹 멤버십은 사용자의 신뢰 수준에 잠금 해제(unlock) 이벤트가 발생하지 않는 한 재계산되지 않습니다.
제 가정에 따르면, 자동 그룹 멤버십은 시스템 전체의 모든 사용자를 대상으로 하루에 한 번 계산되며, 그 시점에 자동 그룹 멤버십이 수정될 것입니다. 하지만 느낌상 자동 그룹 멤버십은 신뢰 수준에 영향을 미치는 그룹에서 제거될 때 또는 신뢰 수준이 증가하는 경우뿐만 아니라 어떤 변경이든 발생할 때 즉시 트리거되어야 한다고 생각합니다.
따라서 백엔드 API 호출인
POST {{site}}/admin/users/{{userId}}/groups
은 자동 그룹 멤버십을 업데이트하지만,
DELETE {{site}}/admin/users/{{usedId}}/groups/{{groupId}}
은 그렇지 않으며, 특히 접근 제어를 위해 자동 신뢰 수준 그룹을 사용하고 있다면 이는 버그처럼 느껴집니다.
그리고, 완전성을 위해, 당연히
PUT {{site}}/admin/users/{{userId}}/trust_level
에 대한 호출은(관리자 인터페이스에서 사용자의 신뢰 수준을 수동으로 변경할 때 호출됨) 예상대로 즉시 자동 그룹 멤버십을 다시 계산합니다.

