Ich habe bereits etwas recherchiert und einige verwandte Themen gefunden, diese beziehen sich jedoch meist auf SSO, das bei uns noch nicht eingerichtet ist.
Wir nutzen die Standard-Authentifizierung von Discourse sowie eine Authentifizierung über das OAuth2-Plugin.
Wir haben einige Kategorien, bei denen der Benutzer einer bestimmten Benutzergruppe angehören muss.
Wenn wir einen Link für einen nicht authentifizierten Benutzer zu einer geschützten Kategorie erstellen (der in der richtigen Gruppe eingerichtet ist), erhalten sie die normale 404/Oops-Seite. Sie müssen dann zurückgehen, sich anmelden und sich wieder zu dieser geschützten Kategorie navigieren.
Gibt es eine Möglichkeit, entweder zur /login-Seite mit einer angegebenen Weiterleitungs-URL zu dieser versteckten Kategorie zu verlinken oder eine Einstellung zu ändern, die bei dieser geschützten Kategorie zur Anmeldung auffordert?
Das Problem ist, dass jede andere Maßnahme die Existenz der geheimen Kategorie verrät.
Die traditionelle Empfehlung lautet hier, den Text auf der 404-Seite so anzupassen, dass darauf hingewiesen wird, dass sich der Benutzer möglicherweise anmelden muss, um den Inhalt zu sehen.
Das ist schon öfter vorgekommen, also sollten wir vielleicht eine optionale Site-Einstellung in Betracht ziehen, die die Sicherheit auf der 404-Seite lockert, @eviltrout … damit ein anonymer Benutzer, der auf
Ich denke, das ist eine großartige Idee. Bei vielen Arten von Foren ist die bloße Feststellung, dass etwas existiert, kein Sicherheitsloch und würde die Barrierefreiheit erheblich verbessern.
Die Herausforderung besteht hier wirklich darin, die Seiteneinstellung korrekt zu benennen und ihre Funktion zu erklären. Ich habe unten mein Bestes gegeben, bin aber für Änderungen offen.
Hier ist eine Mini-Spezifikation:
Fügen Sie eine neue Seiteneinstellung detailed_404 hinzu, Standardwert false. „Bietet Benutzern mehr Details darüber, warum sie nicht auf ein bestimmtes Thema zugreifen können. HINWEIS: Dies ist weniger sicher, da Benutzer wissen werden, ob eine URL ein gültiges Thema enthält oder nicht."
Wenn aktiviert, geben Sie im Topic-Controller, wenn die Guardian-Prüfung fehlschlägt, ein JSON-Objekt mit Details darüber zurück, warum es fehlgeschlagen ist.
Verwenden Sie in der Frontend-Anwendung diese Details, um eine geeignete Fehlermeldung anzuzeigen:
Wenn anonym: „Entschuldigung, Sie müssen sich anmelden, um dieses Thema zu sehen."
Wenn angemeldet:
Wenn das Thema auf eine Gruppe beschränkt ist (ausgenommen Personalgruppen): „Dieses Thema ist für GRUPPEN_NAME beschränkt.
Möchten wir das für beide Themenlisten in einer eingeschränkten Kategorie und für ein Thema in einer eingeschränkten Kategorie tun oder nur für das Thema in einer eingeschränkten Kategorie?
Derzeit verhalten sich diese nämlich unterschiedlich.
Ich sehe nicht viele Leute, die sich darüber beschweren, dass sie Themenlisten im Vergleich zu den Themen selbst nicht sehen können. Ich würde mich nicht darum kümmern, es sei denn, es ist wirklich einfach.