Actualicé nuestro sitio ayer y acabo de notar que un usuario que no es del personal aplicó nuestra etiqueta ‘destacado’ a su publicación. Esto no debería ser posible, ya que está definida como una etiqueta exclusiva para el personal. Cuando asumí su identidad, efectivamente pude acceder a las etiquetas restringidas al publicar. Intenté reproducirlo aquí en meta, pero creo que las etiquetas no están disponibles para los usuarios regulares.
He intentado reproducir el problema en mi sitio de desarrollo local, pero hasta ahora no he tenido éxito. ¿Sabes si el problema ocurre en todas las categorías de tu sitio o solo en una categoría específica donde los usuarios no pertenecientes al personal pueden agregar etiquetas de personal? Cualquier indicio sobre cómo reproducir el problema sería útil.
De acuerdo, profundizaré un poco más para ver qué está pasando aquí y te volveré a contactar. Sin embargo, puede llevar un poco de tiempo.
Bien, probé con un usuario TL-0 y otro TL-1 en modo seguro y puedo acceder a la etiqueta de personal en todas las categorías de nuestro foro. Lo mismo ocurre con las demás etiquetas de nuestra lista exclusiva para el personal. También restablecí los permisos del grupo de etiquetas «solo para el personal» a «las etiquetas pueden ser utilizadas por todos» y luego volví a cambiarlos a «solo los siguientes grupos pueden utilizarlas», pero eso no marcó ninguna diferencia. ¿Hay algo más que pueda probar?
¿Tienes definidos otros grupos de etiquetas, o la captura de pantalla anterior es el único grupo en tu sitio? ¿Los usuarios con los que probaste esto son miembros de algún otro grupo?
Es posible crear varios grupos de etiquetas con reglas contradictorias. Si un usuario tiene permiso para usar una etiqueta en cualquier grupo de etiquetas, eso anulará las reglas de cualquier otro grupo que diga que no puede usarla.
Cuando dices ‘acceder’, ¿te refieres a que puedes agregarlas a los temas, o a que puedes verlas y hacer clic en ellas, etc.?
Las etiquetas en tu grupo de etiquetas ‘Etiquetas de personal’ (ba-tips, cant-reproduce, featured, etc.) solo pueden ser agregadas a los temas por usuarios que pertenezcan al grupo staff, pero son visibles para todos. Esto significa que cualquiera puede ver esas etiquetas en la parte superior de los temas, hacer clic en la etiqueta para ver otros temas etiquetados con ella, etc.
Si un usuario TL0 puede agregar una etiqueta de ‘Etiquetas de personal’ (por ejemplo, ‘ba-tips’) a un tema, eso es un problema. He recreado las etiquetas/grupos de etiquetas según tus capturas de pantalla en mi instancia local de Discourse (limitando las etiquetas en cada grupo a las primeras tres en cada una de las capturas de pantalla anteriores), y mis usuarios TL0/TL1 no pueden agregar ‘ba-tips’ a un tema mediante el botón ‘Nuevo tema’, ni creando un tema y luego editándolo. ¿Puedes agregar las etiquetas mediante un método o ruta de interfaz diferente?
Gracias por tu respuesta, Jamie. Lo siento si no fui lo suficientemente específico. Acabo de actualizar a la última versión y ejecuté la prueba nuevamente, con el mismo resultado. Los pasos para reproducir el error son:
- Iniciar sesión como usuario TL0 o TL1
- Cambiar al modo seguro y desactivar todo
- Seleccionar cualquier categoría
- Crear un nuevo tema
- Seleccionar la etiqueta Destacado, que es solo para personal.
- Hacer clic en ‘crear tema’
- El mensaje se crea y se agrega la etiqueta destacada
Acabo de ver algo más que podría estar relacionado: ya no puedo acceder a las rutas de tag.json, como esta:
Actualización: ¡ups, olvídalo! Parece que /tags/ se renombró a /tag/, lo que rompió algunas de nuestras automatizaciones.
Desafortunadamente, sigo teniendo dificultades para crear un caso de prueba para este problema. Estos son los pasos que he seguido:
- Creé un nuevo sitio en el commit: 6490fac881
- Creé el usuario administrador: jamie.wilson
- Activé la configuración del sitio: tagging enabled
- Creé las siguientes etiquetas:
360-renders
add-ons
advertisement
conference
contest
meetup
no-ads
promotion-offered
ba-tips
cant-reproduce
featured - Creé los grupos de etiquetas, según las capturas de pantalla proporcionadas (con un máximo de 3 etiquetas por grupo con fines de depuración)
- Creé la categoría ‘Events’, con el valor ‘Events’ para ‘Restrict these tag groups to this category’
- El usuario administrador creó un tema en la categoría ‘Site Feedback’ con la etiqueta ‘ba-tips’ del grupo staff.
- Cerré la sesión del usuario administrador
- Creé un nuevo usuario (activado mediante enlace por correo electrónico): normal.user
- Como normal.user, creé un nuevo tema en Uncategorized o Site Feedback. Etiquetas disponibles: 360-renders, add-ons, advertisement
- Creé un nuevo tema en Events. Etiquetas disponibles: conference, contest, meetup
(no mostrado)
- El usuario administrador puede agregar etiquetas restringidas a la publicación de normal.user:
- El usuario administrador puede ver las tres etiquetas:
- normal.user solo puede ver dos etiquetas:
DiscourseTagging.permitted_tag_names(Guardian.new(User.find_by_username('normal.user')))
["360-renders", "add-ons", "advertisement", "conference", "contest", "meetup"]
DiscourseTagging.hidden_tag_names(Guardian.new(User.find_by_username('normal.user')))
["no-ads", "promotion-offered"]
¿Quizás alguien más pueda reproducir el problema? Yo no he podido hasta el momento.
Creo que he encontrado el problema: #featured aparecía tanto en la lista de personal exclusivo como en nuestra lista de ‘etiquetas comunes’. No estoy seguro de cómo terminó ahí; tendré que revisar nuestros permisos de personal y ver si lo crearon de alguna manera. Perdón por hacerte perder el tiempo, pero ¡aprecio mucho tu ayuda! ![]()
¡No hay problema! Me alegra que se haya encontrado la causa raíz y que ahora todos podamos sentirnos un poco más seguros de que la nueva función funciona como se esperaba.
Espero que te sea útil para ti y tu sitio ahora que se han corregido los problemas de configuración. Avísanos cómo te va.











