Soy administrador y participante en los foros de Fedora. Me gustaría poder separar esas funciones. Sé que existe el “color del personal” para las Publicaciones Oficiales, pero me refiero más desde mi perspectiva. En lugar de tener llaves inglesas y botones de administrador por todas partes cuando estoy conectado, me gustaría un interruptor en el menú que active y desactive el Modo Administrador.
También tenemos
Ambos plugins te permiten disfrazar tu identidad como miembro del personal. Es decir, puedes hacer una publicación desde una cuenta que parezca más “oficial”, la cual no se puede vincular obviamente contigo como individuo.
Sin embargo, ¿no creo que sea exactamente lo que estás pidiendo? ¿Quieres una forma de hacer que Discourse se vea/sienta como lo hace para los usuarios habituales, y luego “entrar en modo sudo” para que toda la funcionalidad adicional exclusiva para administradores esté disponible?
Creo que sería bastante difícil de implementar… ¡pero sería increíble! Hace muchos años (antes de unirme al equipo), creé este componente para mi propio foro autoalojado. Tiene el mismo tipo de idea (hacer obvios los privilegios de usuario normal/administrador), pero se limita a un caso muy específico:
Si hay otros casos de alcance limitado que a menudo son confusos en tu sitio, podría ser posible crear componentes de tema similares para mostrar advertencias antes de realizar acciones exclusivas para administradores.
Sí, exactamente. Supongo que en parte proviene de años de ser un administrador de sistemas, y de tener la idea de “mínimo privilegio necesario” inculcada por la experiencia práctica. (¡rm -rf como root en el lugar equivocado en un sistema de producción es un rito de iniciación!)
Esto también me interesa. Mi solución actual es usar tanto Chrome como Edge. En Chrome tengo mi cuenta de administrador, pero en Edge estoy en la cuenta de administrador y suplanto una cuenta de usuario con un correo electrónico caducado. La suplantación es solo porque no quiero hablar con TI.
En tu situación podrías crear un segundo inicio de sesión y tener un navegador para administrador y otro navegador para usuario. No es perfecto, pero para mí ha sido suficiente.
Aquí tienes un buen ejemplo de dónde sería útil:\n\n\nAttempting to enforce 1 tag per topic in a category - #5 by jeromecc quiero poder infringir accidentalmente las reglas de etiquetado previstas. (¿Los moderadores no administradores también pueden hacer esto accidentalmente? Ni siquiera puedo probarlo fácilmente).\n\nPodría crear una cuenta de administrador separada y degradar la mía principal a usuario normal, pero me temo que me perdería notificaciones y mensajes importantes de banderas.
Esto es algo que maneja el propio navegador, véase
¿Eso solo parece permitirme cambiar perfiles completos del navegador? Eso no parece ayudar, a menos que crees una cuenta de usuario de Discourse completamente diferente para uso administrativo.
¿O me estoy perdiendo algo? Por ejemplo, @codinghorror, tu cuenta aparece como administradora aquí, así que supongo que a menos que estés haciendo algo que entendí completamente mal, estás ejecutando en modo administrador en este momento. Pero también estás actuando como un usuario del sitio. ¿No te encuentras con cosas donde (por ejemplo) creas accidentalmente publicaciones que no siguen las reglas de etiquetas configuradas? (Lo he hecho más de una vez por accidente…)
En realidad no; parte de ser administrador es comprender la responsabilidad que tienes y los límites que debes respetar. Si no puedes hacer eso, no deberías tener privilegios de administrador.
Pero también empatizo con las personas que quieren ser ultra seguras y les recomiendo que usen dos cuentas y que inicien sesión como un usuario normal cuando necesiten estar absolutamente seguras. Y usando el soporte integrado de perfiles del navegador, esto es muy fácil de hacer.
Bueno, es algo así como lo mismo que ejecutar como root en un sistema Linux todo el tiempo. No se trata solo de respetar los límites, sino de no pisarlos accidentalmente cuando no te das cuenta de que están ahí. Algunas cosas, como ir a la configuración, no sucederán por accidente, pero parece haber muchas cosas pequeñas donde el administrador omite la configuración sin ninguna indicación de que algo está siendo omitido.
Como dije anteriormente, tener una segunda cuenta no es realmente bueno, porque solo vería las notificaciones de esa cuenta con poca frecuencia.
Entiendo la preocupación, pero en la práctica no es un gran problema, al menos no en los 10 años que llevo trabajando en este proyecto.
(ten en cuenta también que revocamos automáticamente el acceso del personal y exigimos la revalidación del correo electrónico para el personal ausente durante mucho tiempo, lo que soluciona la mayoría de estos problemas automáticamente en mi opinión)
¡Hola Matt!
Solo para añadir algo de contexto, la posibilidad de que un usuario administrador actúe como un usuario normal añadiría una dimensión extra a toda la lógica de autorización relacionada con la administración.
Aunque esa lógica está mayormente centralizada en guardian.rb y /lib/guardian/*.rb, la complejidad y el potencial de errores de un cambio así serían muy grandes, y la necesidad de esta función tendría que superar con creces eso, lo cual no ocurre, dadas las alternativas.
¿Sería posible considerar una “protección” más específica para algunas de las cosas que son más posibles por accidente? ¿Como una configuración: “El personal debe seguir las reglas de etiquetado de categorías”? Sinceramente, solo eso resolvería la mayor parte del problema práctico al que me enfrento.
O… encuentro un poco extraño que otras cosas como la longitud de las publicaciones todavía estén protegidas incluso para los administradores… ¿quizás en realidad este asunto en particular es una cuestión de simplemente hacer que así es como funciona en lugar de agregar una opción?
Añadir la longitud de las publicaciones requeriría cambiar toda la base de datos. Hay un número máximo de caracteres que podemos almacenar en la base de datos por campo.
Me parece una falta de conexión lógica, pero puede que me esté perdiendo algo. Quiero decir:
- Si soy administrador e intento publicar una publicación más corta que la
longitud mínima de la publicación, recibo el mensaje de error normal y no puedo continuar. - Si soy administrador e intento publicar sin etiquetas en una categoría que requiere una, simplemente me deja continuar.
¿Qué se está almacenando en la base de datos aquí?
Oh, lo siento, me refería solo a la longitud de la publicación/título: hay un tamaño máximo de contenido de la longitud de la publicación en el campo real de la base de datos donde se almacena. Existe una regla similar para el título de la publicación, un número máximo de caracteres asignados para ese campo en particular en la base de datos.
Entonces, si un administrador decidiera: “Oye, quiero una publicación de 900.000 caracteres” o “Oye, quiero una publicación con un título de 500 caracteres”, eso no es posible sin cambiar la base de datos.
Es realmente una cuestión técnica, pero como mencionaste la longitud de la publicación, estuve pensando en ello.
Ah, está bien. Sí, eso es realmente lo opuesto al problema que me preocupa ![]()
Supongo que el OP pretendía funcionar la mayor parte del tiempo como un usuario normal. Para mí, también quiero sentirme como un usuario simple:
- menos botones
- sin acceso a acciones de moderador/administrador
- usar casos de uso simples
Después de las actualizaciones o ajustes, me gustaría interactuar con el foro como lo ve un usuario normal para evitar malentendidos.
Para mi comunidad, el modo de administrador solo es necesario para actualizaciones o pruebas con complementos e interfaz de usuario. Tampoco es necesario ser moderador todo el tiempo. También creo que para algunas personas como yo, cambiar temporalmente a administrador es mejor que tener dos cuentas.
El OP escribió sobre sudo. Esto es casi lo mismo pero invertido. Normalmente, cambio temporalmente a anónimo para comprobar algunos casos. De todos modos, sería genial tener alguna opción ligera para activar el modo de administrador como ‘suplantar’ bajo una cuenta normal especial.
Me recuerda a algo que ocurrió hace unos días. Estoy en proceso de migrar un foro.
Concedí privilegios de administrador al administrador del foro antiguo.
Es un usuario de Discourse en otros dos foros, y también un moderador. Así que sabe un poco sobre la interfaz y la navegación de Discourse.
Desde su cuenta de administrador (no le escribí ninguna guía, lo dejé descubrir cosas) me dijo que le sorprendió ver que podía acceder a mensajes directos de otras personas; Hizo clic un poco al azar en la página de un perfil público y vio una lista de mensajes directos, lo que lo sorprendió.
Me dijo que de repente pensó: “Bueno, parece que estoy en un lugar donde no debería estar” (para entenderlo como: no debería estar aquí si no tiene ningún propósito administrativo/de moderación en este momento).
No tiene idea de que podría acceder a estos mensajes desde la interfaz tan fácilmente como accede a sus propios mensajes directos desde su perfil.
Y a mí también me pasó hace unas semanas, a pesar de que he sido administrador de dos foros de Discourse desde 2018… ![]()
En mi opinión, en la pestaña de “mensaje directo” del perfil público de un usuario, como administrador, debería haber un icono o algún tipo de advertencia de que hacer clic en él es una acción de moderación o administración, ya que verá cosas destinadas a ser “privadas” (en la mente del 99% de los usuarios de todos modos). ![]()
Entonces… he estado pensando en esto y estoy menos convencido de que sea un gran cambio después de todo. Claro, hay mucha lógica dispersa, pero ¿no se reduce todo a comprobar is_admin o is_staff?
El “sudo” solo necesitaría añadir un interruptor “staff_mode”, y las funciones is_staff e is_admin podrían comprobar el estado de ese interruptor Y la bandera user.admin o user.staff. (Por supuesto, activar el interruptor necesitaría una comprobación especial que solo mirara el valor de user.admin o user.staff.)