Seien Sie vorsichtig mit sensiblen Daten in diesen Feldern. Felder werden nicht im Quellcode gefunden, könnten aber sichtbar sein, wenn etwas schiefgeht.
Ich habe zwei Benutzer, derek_test (links) und anon9 (rechts). Die Felder ID & Firma sind beide in ihren Profilen ausgefüllt, aber nur eines ist für den anderen sichtbar. derek_test kann ID sehen und anon9 kann Company sehen.
Überprüfen Sie diese Einstellungen, sobald die Felder ausgefüllt sind, oder erstellen Sie Berechtigungen im Voraus, damit diese Felder niemals offengelegt werden.
Was sehen Benutzer, die nicht angemeldet sind? Wenn das Feld also nur für Administratoren sichtbar ist, dann würde ich erwarten, dass Benutzer es auch nach dem Abmelden nicht sehen können, richtig?
Gibt es einen Grund, warum Sie das Textfeld für die Gruppeneinstellung anstelle einer Gruppenliste gewählt haben? Es ist etwas bequemer für die Eingabe von Gruppen, da Sie sie auswählen können, anstatt den Namen einzugeben. Es funktioniert jedoch mit der ID, sodass Sie den Code ein wenig ändern müssen. Aber es funktioniert immer noch, auch wenn Sie die Gruppe umbenennen.
Guter Hinweis, ich habe es gerade aktualisiert, um dies zu berücksichtigen. Ich kann bestätigen, dass abgemeldete Benutzer das Feld nicht sehen.
Ich werde ehrlich sein und sagen, dass ich dies mit Claude Code gemacht habe, aber es sagte, dass der Typ group_list in einem Objekteditor nicht verfügbar ist – nur als Top-Level-Einstellung.
Es müsste also so etwas sein, aber eine feste Anzahl von verfügbaren Feldern
Hm.. Obwohl die Einstellungen im Objekt-Editor list_type:group akzeptierten, konnte ich eine Fehlermeldung nicht überwinden:
Ich habe ein paar verschiedene Transformationen ausprobiert, konnte aber nicht weiterkommen. Das Fazit lautet: „Der groups-Typ in Objektschemata ist dokumentiert, aber die Benutzeroberfläche ist im Frontend nicht implementiert.“
Ich habe diesen Fehler auch gesehen, aber nachdem ich die Reset-Schaltfläche verwendet habe, um die gesamten Objekteinstellungen zurückzusetzen, ist der Fehler nicht wieder aufgetreten
Also alles gut jetzt
Vielleicht mochte es die Änderung des Einstellungstyps bei einer vorhandenen Konfiguration nicht.
Können Sie das näher erläutern? Ich sehe das Problem nicht. Es hat derzeit 1 & 2. Besteht Ihre Anforderung auch darin, Felder vor Mods/Administratoren auszublenden? Nebenbei bemerkt müssten Administratoren das Feld zunächst erstellen.
Habe es gerade erneut auf meinem lokalen, sauberen neuesten GitHub-Repository und auf der gehosteten Lösung mit dem neuesten Build getestet – nur die Kategorie „Admin“ ist betroffen und kann das Feld „Versteckt“ sehen, wenn er/sie Mitglied einer Gruppe ist, der das Anzeigen dieses Feldes erlaubt ist. Selbst der Moderatorzugriff (wie ich vorher dachte, funktioniert nicht)
Der Fall:
Zwei Benutzer, Admin und Alex_1
Benutzergruppe L2_verified
Benutzerfeld – Vollständiger Name (Für alle Benutzer, alle Ein, nur durchsuchbar Aus)
Beide Benutzer haben Namen: Alex Admin und Alex
Theme-Einstellungen:
Komponente in diesen Themes einschließen (Foundation, Horizon)
Feldname: Vollständiger Name
Zulässige Gruppen: L2_verified
Ergebnisse:
Beide sind keine Mitglieder von L2_verified – niemand sieht das Feld „Vollständiger Name“ (nicht einmal den eigenen vollständigen Namen)
Admin ist Mitglied von L2_verified – kann den vollständigen Namen von Alex_1 sehen (und den eigenen vollständigen Namen)
Alex_1 ist Mitglied von L2_verified – kann den eigenen vollständigen Namen und den des Admins nicht sehen
Als ich Alex_1 die Berechtigung des Admins erteilte, konnte es sowohl den eigenen als auch den vollständigen Namen des Admins sehen
Vielen Dank für diese großartige Komponente! Sie ist eine fantastische Grundlage für die Verwaltung der Benutzer-Privatsphäre auf Discourse.
Ich habe basierend auf Ihrer Arbeit eine spezielle bidirektionale (reziproke) Sichtbarkeits-Fork entwickelt. In unserer professionellen Community benötigten wir ein „Gegenseitiges Vertrauen“-Modell, bei dem verifizierte Mitglieder die Klarnamen/Geschäftsdaten der jeweils anderen sehen können, aber für die allgemeine Öffentlichkeit oder nicht verifizierte Benutzer völlig anonym bleiben.
Hauptmerkmale dieser Fork:
Reziproke Logik: Ein Feld wird nur angezeigt, wenn sowohl der Betrachter als auch der Profilinhaber zur autorisierten Gruppe gehören.
Mitarbeiter-Aufsicht: Administratoren und Moderatoren behalten aus Sicherheits- und Moderationsgründen die volle Sichtbarkeit.
Selbst-Sichtbarkeit: Benutzer können ihre eigenen ausgeblendeten Felder immer sehen, auch wenn sie noch nicht Teil der autorisierten Gruppe sind, damit sie ihr eigenes Profil verwalten können.
Peer-to-Peer-Datenschutz: Es wird sichergestellt, dass selbst verifizierte Benutzer ihre Identität niemandem preisgeben, der nicht das gleiche Maß an Verifizierung durchlaufen hat.
Roadmap: In zukünftigen Updates plane ich, granulare Gruppeneinstellungen hinzuzufügen, um genau zu definieren, welche Gruppen sehen und gesehen werden können (z. B. Gruppe A darf Gruppe B sehen, aber nicht umgekehrt).
Ich poliere derzeit die Dokumentation und plane, dies als eigenständige „Erweiterte Datenschutz“-Variante in einem separaten Thema zu veröffentlichen, sobald ich vollen Zugriff auf die Kategorie „Theme Components“ habe.
In der Zwischenzeit, falls jemand diese bidirektionale Logik benötigt, kann er sie hier einsehen: GitHub:https://github.com/AirVetra/discourse-hidden-user-fields-bidirectional