사용자 역할에 따라 특정 요소를 숨기는 CSS 활용

안녕하세요!

디스코urs 관리자로서는 처음인데, 방위자(Moderator)가 관리자(Administrator)와 거의 동일한 접근 권한을 가진다는 것을 최근에야 알게 되었습니다. 게다가 방위자에게 어떤 접근 권한/기능을 부여할지에 대한 제어 기능도 부족합니다.

제 주요 우려 사항은 방위자가 다음을 할 수 있다는 것입니다…
A) 모든 사용자의 개인 메시지를 접근할 수 있습니다.
B) 리포트(신고) 영역에 접근할 수 있습니다.
C) 아직 발견하지 못한 다른 우려 영역들!

그래서 해결책을 찾기 위해 검색을 시작했지만, 공동 설립자가 작성한 아래 게시물을 읽고 나서 포기하게 되었습니다…

…결국 방위자의 접근 권한을 제한하는 방법을 스스로 찾아야 하는 것 같습니다.


제가 생각할 수 있는 몇 가지 해결책은 다음과 같습니다…
수정해 주시거나 더 나은 방법을 공유해 주시면 감사하겠습니다.

A) 방위자 옵션을 중단하고, 대신 더 보수적인 접근 권한 수준에 기반한 새로운 사용자 그룹/신뢰 등급(Trust Level)을 생성합니다.

B) 리포트 탭을 비활성화하고 방위자가 개인 메시지에 접근하는 것을 방지하기 위해 일부 JavaScript를 추가합니다.

C) 방위자가 보지 않기를 원하는 영역을 숨기기 위해 일부 대상 지정 CSS를 추가합니다.


CSS 대상 지정을 사용하여 관리자 대시보드에서 리포트 탭 숨기기

제 지식 부족으로 인해, 덜 선호되는 방법인 CSS를 사용하여 특정 영역을 숨기는 방식으로 전환했습니다. 모든 방위자 및 관리자를 대상으로 리포트 탭을 숨기는 데 성공했는데, 사용된 코드는 다음과 같습니다…

li.navigation-item .reports {
   display: none !important;
}

하지만 이것은 방위자에게만 적용되어야 합니다. 그래서 여기에서 가져온 코드를 수정해 보았습니다. 해당 코드는 CSS를 사용하여 방위자를 특정 대상으로 지정하고 사용자 이름 색상을 변경하는 방법을 설명합니다. 아래처럼 수정해 보았지만 작동하지 않습니다.

li.navigation-item {
  &.moderator {
    .reports {
      display: none !important;
    }
  }

  &.admin {
    .reports {
      display: inline;
    }
  }
}

누구든 CSS 대상 지정에서 제가 무엇을 잘못하고 있는지 알려주시거나, 이 문제에 대한 더 나은 해결책을 제공해 주실 수 있을까요?

정말 감사합니다.

안녕하세요, @UnitedFreedom :slight_smile:

CSS 변경은 외관상의 문제일 뿐이며, 브라우저 콘솔에서 페이지를 조정하여 쉽게 우회할 수 있습니다. 하지만…

안심하시라고 말씀드리면, 관리자는 개인 메시지에 무제한으로 접근할 수 없으며, 누군가 해당 메시지를 플래그(신고)했을 때만 볼 수 있습니다. :+1: (사이트의 모든 것을 볼 수 있는 관리자(Admin)와는 다릅니다)

리포트는 특별히 민감하지 않으며 관리자가 접근할 수 있는 것이 꽤 유용할 수 있지만, 리포트/대시보드 영역을 대상으로 하는 몇 가지 관리자 설정이 있어 도움이 될 수 있습니다(다만 이는 관리자와 관리자(Admin) 모두에게 적용됩니다):

  • dashboard visible tabs 관리자 설정을 사용하면 커스텀 CSS를 사용하지 않고도 리포트 탭을 숨길 수 있습니다(다만 /admin/dashboard/reports 링크를 사용하여 여전히 페이지에 접근할 수는 있습니다).
  • dashboard hidden reports 관리자 설정을 사용하면 목록에서 특정 리포트를 제거할 수 있습니다(이름을 사용해야 하며, 이는 URL에서 얻을 수 있습니다. 예: Admin Logins의 경우 staff_logins)
  • dashboard general tab activity metrics를 사용하여 대시보드에 표시할 내용을 선택할 수 있습니다.

기본적으로 비활성화되어 있지만, 관리자가 이메일을 보고, 게시물 소유권을 변경하며, 카테고리와 그룹을 생성 및 관리할 수 있게 해주는 몇 가지 추가 관리자 설정도 있습니다:

다만, 완전한 관리자 권한이 여러분의 사이트에는 너무 크다고 생각하신다면 카테고리 moderation(카테고리별 관리)을 선택할 수 있습니다. 이를 통해 특정 그룹이 특정 카테고리에 대해 강화된 권한을 가질 수 있습니다. 그들은 해당 카테고리의 플래그 및 게시물 승인에 대한 검토 대기열(Review Queue)에 접근할 수 있으며, 수정, 삭제, 분할, 병합 등을 수행할 수 있지만, 관리자가 가지는 모든 권한과 접근 권한을 갖지는 않습니다.

차이점에 대한 개요는 Trust Level Permissions Reference 에서 확인할 수 있습니다.

enable category group moderation 관리자 설정을 활성화한 다음, 카테고리 wrench 메뉴의 설정 탭에서 카테고리별 그룹을 설정하여 카테고리 moderation을 활성화할 수 있습니다:

신뢰도가 높은 일부 사용자를 TL4로 설정하는 것도 moderation을 보조하는 데 매우 유용할 수 있습니다.