지금 사용자를 일일이 수동으로 확인해서 누군가에게 부여된 오버라이드를 해제해야 하는 상황인데, 신뢰 수준이 1로 표시되어 있음에도 불구하고 여전히 해당 그룹에 속해 있습니다. 신뢰 수준이 1인 사용자만 그룹에 포함되도록 그룹을 초기화하는 방법은 무엇인가요?
자체 호스팅을 사용하는 경우 Rails 콘솔에서 수행할 수 있지만, 약간 까다롭습니다.
/admin/logs를 확인하면 누가 오버라이드를 부여했는지 볼 수 있습니다.
네, 저는 셀프 호스팅을 하고 있습니다. 누가 한 건지 알고 있고, 지금은 그 사람이 멤버 이상의 권한에 접근할 수 없게 되었습니다. 불행히도 확인해야 할 사람이 약 300명이나 됩니다. 그리고 그들을 그룹에서 제거해도 여전히 상위 그룹에 속해 있는 것으로 표시되는데, 신뢰 수준은 이제 1이라고 나와 있습니다. 이 그룹은 자동 관리 설정이라서 그들을 그룹에서 제거할 방법이 없습니다.
자동 그룹이라면 제거할 수 없습니다. 어떤 그룹인가요?
이들의 신뢰 수준은 3입니다. 하지만 이들은 신뢰 수준 3의 자격 요건을 충족하지 못합니다. 제가 이들을 잠금 해제하면 상단에 신뢰 수준 1, 신뢰 수준 2가 표시되지만, 많은 구성원이 3이 아닙니다. 자격 요건을 충족하지 못하거나 강등되는 경우, 해당 사용자들도 그룹에서 제거되어야 한다고 생각합니다. 시스템은 이들을 여전히 3레벨로 취급하는지, 아니면 현재 신뢰 수준으로 취급하는지 어떻게 되는 건가요?
이 방법은 Rails 콘솔에서 작동할 수 있습니다.
./launcher enter app
rails c
그 다음, 다음을 실행합니다:
User.where(manual_locked_trust_level: 3).update_all(manual_locked_trust_level: nil, trust_level: 1)
이 명령은 신뢰 수준 3으로 잠겨 있는 모든 사용자를 찾아, 그들의 신뢰 수준 잠금을 해제하고 신뢰 수준을 1로 설정합니다.
제이, 감사합니다! 잘 작동했습니다