여러분, 안녕하세요.
포럼 로그인을 특정 역할, 예를 들어 관리자나 운영자처럼 제한할 수 있는 방법이 있을까요?
배경은 이렇습니다. 규모가 큰 포럼을 이관하는 중인데, 이 포럼의 URL이 대중에게 알려지지 않았더라도, 이관 후 모든 것을 테스트하고 최종 이전을 준비하는 동안 로그인을 관리자와 운영자로만 제한하고 싶습니다.
과거에 관련 옵션을 본 것 같은데, 지금은 찾을 수가 없네요.
여러분, 안녕하세요.
포럼 로그인을 특정 역할, 예를 들어 관리자나 운영자처럼 제한할 수 있는 방법이 있을까요?
배경은 이렇습니다. 규모가 큰 포럼을 이관하는 중인데, 이 포럼의 URL이 대중에게 알려지지 않았더라도, 이관 후 모든 것을 테스트하고 최종 이전을 준비하는 동안 로그인을 관리자와 운영자로만 제한하고 싶습니다.
과거에 관련 옵션을 본 것 같은데, 지금은 찾을 수가 없네요.
운영이 안정적으로 시작될 때까지 포럼을 초대 전용으로 설정할 수 있습니다. 준비가 되면 공개 가입을 허용하도록 변경할 수 있습니다. 대시보드에서 로그인으로 이동하여 원하는 대로 설정하려면 해당 옵션을 선택하세요. 준비가 되면 다시 돌아와 필요한 변경 사항을 적용하세요.
사용자가 가져와지고 계정이 활성화되면 이 방법은 작동하지 않습니다.
임시 리버스 프록시는 인증과 함께 작동할 수 있지만 복잡성을 유발합니다.
DNS 이름 변경이 가능한가요? 다운타임을 어떻게 관리할 계획인가요?
사용자 계정을 모두 정지하여 이메일을 받지 못하게 하면, 해당 사이트를 우연히 발견하더라도 로그인할 수 없게 됩니다. 이것이 가장 적절한 방법일 것입니다.
만약 그것이 충분하지 않다면, 컨테이너의 nginx 설정을 수정하여 사이트 접근에 기본 인증(basic auth)을 요구하도록 할 수도 있습니다.
디스코스가 실제로 역할 기반 기능을 거의 지원하지 않는다는 사실을 전혀 몰랐습니다. 지금까지는 그런 문제가 없었던 프로젝트에서만 사용해 봤기 때문입니다. 로그인 제한을 그렇게 설정할 수 있을 줄 알았거든요.
@Stephen 님이 정답을 말씀하셨듯이, @JimPas 님의 제안은 가져온(임포트된) 사용자들에게는 적용되지 않습니다.
기존 포럼이 해당 기간 동안에도 계속 운영되므로, 그 기간 동안 DNS 이름 변경이 이루어질 것입니다. 하지만 처음 말씀드린 대로 추가적인 보호 조치를 원했습니다.
사용자의 로그인을 막고 추가적인 보호를 적용하려면 HTTP 기반 인증이 유일한 방법인 것 같습니다. 어떻게 작동하는지 확인해 봐야겠습니다.
도와주셔서 감사합니다.
정확히 그렇지는 않습니다. 항상 공개 DNS 레코드를 비공개 처리하고, 해당 기간 동안 hosts 항목을 사용하는이라는 좋은 폴백(fallback) 방법이 있습니다. 공개 DNS가 없는 상태에서 재빌드하면 Let’s Encrypt가 깨지지만, 그 외에는 정상적으로 작동합니다. 사용자가 이를 접근하려면 새로운 DNS 이름과 IP 주소를 모두 알아야 합니다.
계정을 비활성화하는 것도 하나의 방법이지만, /admin에서 모든 이메일을 비활성화하는 옵션도 있으며, 이것이 아마도 더 신중할 것입니다.
한 가지 아이디어로, 자체 IdM/SSO를 구현하여 접근을 한 단계 더 제어할 수도 있습니다. 작업량은 더 들지만, 향후 다른 영역에서 상당한 이점을 가져올 수 있습니다. 모두 여러분의 편한 방식에 달려 있습니다.
@Stephen, 대안을 언급해 주셔서 감사합니다.
기본 인증(base auth)이 가장 직관적인 방법이라고 생각합니다. 로컬 hosts 파일을 사용하는 방식은 기술 수준이 높지 않은 직원이나 moderators에게는 다소 번거로울 수 있고, IdM/SSO는 최종 마이그레이션을 위한 기반을 마련하는 데 필요한, hopefully 짧은 기간 동안에는 지나치게 부담이 큽니다. 또한 현재 보안 수준이 매우 높지 않으므로, 아예 보안을 적용하지 않는 경우도 있을 수 있습니다.
이 내용을 업데이트하자면, 현재 ‘직원 전용 읽기 전용’ 모드가 있는 것 같습니다. 다만 활성화 방법을 100% 확신하지는 못합니다. ![]()
UI에서 일반적인 ‘모두 읽기 전용’ 버튼을 제외하고는 다른 버튼을 찾을 수가 없습니다. ![]()
지침서에 관련 안내가 추가되었습니다: