arbakker
(Anton Bakker)
1
안녕하세요, 저희 Discourse 인스턴스에서 인증되지 않은 사용자에게 /latest.json (최신 주제) 응답 본문에 admin 및 trustlevel 필드가 표시됩니다.
예를 들어, /latest.json 목록의 사용자는 다음과 같이 표시됩니다:
{
"users": [
{
"id": 32,
"username": "Beeblebrox",
"avatar_template": "/user_avatar/my-discourse.org/beeblebrox/{size}/1_1.png",
"flair_name": null,
"admin": true,
"trust_level": 1
}
],
"primary_groups":[],
"flair_groups":[],
"topic_list":[]
}
사용자가 관리자인지 여부는 민감한 정보라고 생각합니다. 1. 인증되지 않은 사용자와 2. 모든 사용자에게 /latest.json 응답에서 a. admin 및 b. trust_level 필드를 표시하지 않도록 하는 것이 가능한가요?
pfaffman
(Jay Pfaffman)
2
그것이 바로 문제입니다. 제가 아는 한, 어디에서도 이를 민감한 정보로 취급하지 않습니다. 플러그인을 통해 사용자에게 관리자가 누구인지 숨기는 것은 가능합니다.
arbakker
(Anton Bakker)
3
빠른 답변 감사합니다! 다음 문장에서 정확히 무슨 뜻인지 궁금합니다:
플러그인에서 관리자가 누구인지 사용자에게 숨길 수 있습니다.
플러그인은 특정 플러그인을 가리키는 건가요?
pfaffman
(Jay Pfaffman)
4
관리자 목록에서 내 사용자를 숨기는 플러그인을 하나 작성했습니다. 해당 JSON 로드에서도 내 사용자를 숨기는지 확신은 없지만, 그럴 가능성이 있을 것 같습니다.
이것은 더 큰 플러그인의 일부였기 때문에, 그 부분을 공개적으로 보유하고 있지는 않은 것 같습니다. 여기에 핵심 부분만 게시해 보거나, 예산이 있으시다면 저에게 연락을 주시면 대신 처리해 드리겠습니다.
Falco
(Falco)
5
그렇지 않습니다. 우리는 /about 페이지에서 이를 두드러지게 표시하고 있습니다. 
pfaffman
(Jay Pfaffman)
6
제가 찾은 코드입니다. /admin 페이지에서만 관리자 권한을 제거하는 것으로 보입니다:
require_dependency 'admin_constraint'
add_to_serializer(:about, :admins) do
object.admins.reject { |u|
puts "REJECT: #{u.emails.first} "
u.emails.first =~ HIDDEN_EMAIL_REGEXP
}
end
arbakker
(Anton Bakker)
7
소개 페이지에 модератор(모더레이터)와 관리자가 나열되어 있다는 것을 몰랐습니다. 그래서 민감한 정보로 취급되지 않는다는 설명이 이해가 됩니다. 답을 찾았으니 빠른 답변 주셔서 감사합니다. 정말 감사드립니다!