¿Limitar el inicio de sesión solo al personal?

Hola a todos,

¿Existe alguna forma de limitar el inicio de sesión en un foro a un rol específico, como moderadores o administradores?

Antecedentes: Estoy migrando un foro más grande y, aunque la URL de este foro es desconocida para el público, quiero limitar el inicio de sesión solo a moderadores y administradores mientras probamos todo después de la migración y nos preparamos para la transferencia final.

Pensé que habría visto alguna opción en el pasado, pero no logro encontrarla ahora.

Puedes configurar el foro para que solo sea accesible por invitación hasta que esté en funcionamiento. Luego, puedes cambiarlo para aceptar registros públicos cuando estés listo. En tu Panel de control, ve a Inicio de sesión y marca las casillas para configurarlo como desees. Cuando estés listo, vuelve y realiza los cambios necesarios.

Esto no funcionará una vez que se importen los usuarios y se activen sus cuentas.

Un proxy inverso temporal funcionaría con autenticación, pero añade complejidad.

¿Es posible cambiar el nombre DNS? ¿Cómo planean gestionar el tiempo de inactividad?

Probablemente quieras suspender a todos los usuarios para que no reciban correos electrónicos, lo que les impediría iniciar sesión incluso si llegan a encontrar el sitio por casualidad.

Si eso no es suficiente de alguna manera, podrías modificar el nginx en el contenedor para que requiera autenticación básica para acceder al sitio.

No tenía ni idea de que Discourse realmente no tiene capacidades basadas en roles. Hasta ahora solo lo había usado en proyectos donde esto no era un problema. Pensé que sería posible limitar el inicio de sesión de esa manera.

@JimPas, como @Stephen acertadamente mencionó, eso no funcionará para los usuarios importados.

El cambio de nombre DNS estará activo durante ese período, ya que el foro antiguo seguirá en línea en ese tiempo, pero como dije inicialmente, quería tener una protección adicional.

Parece que la autenticación básica HTTP será la única forma de añadir protección adicional e impedir que los usuarios inicien sesión. Necesito verificar cómo funciona eso.

Gracias, chicos.

No exactamente; siempre tienes el buen y viejo respaldo de despublicar el registro DNS público y usar una entrada de hosts durante ciertos períodos. Esto romperá Let’s Encrypt si reconstruyes mientras el DNS público está ausente, pero de lo contrario funciona. Los usuarios necesitarían conocer el nuevo nombre DNS Y la dirección IP para acceder.

Desactivar cuentas es una opción, pero también existe la opción de desactivar todos los correos electrónicos en /admin, lo cual probablemente sea prudente.

Como idea, también puedes controlar el acceso desde una capa más implementando tu propio IdM/SSO. Requiere más trabajo, pero podría tener grandes beneficios en otras áreas a largo plazo. Todo depende de con qué te sientas cómodo.

Gracias por mencionar las alternativas, @Stephen.

Creo que la autenticación básica sería la forma más sencilla. Usar archivos de hosts locales resulta un poco engorroso para los miembros del personal o moderadores con menos conocimientos técnicos, y IdM/SSO es definitivamente demasiado complicado para el período de tiempo, que esperamos sea breve, necesario para sentar las bases de la migración final. Además, no contamos con mucha seguridad allí, por lo que es posible que ni siquiera la implementemos en absoluto.

Para actualizar esto, creo que ahora tenemos un modo de ‘solo lectura para el personal’. Sin embargo, no estoy 100% seguro de cómo activarlo. :slight_smile: No parece haber ningún botón en la interfaz de usuario, aparte del ‘solo lectura para todos’ normal. :thinking:

Voy a investigar.


Ahora tenemos algunas instrucciones en una guía: