Rekursive Identitätsübernahme

Hallo zusammen,

ich habe für einen Kunden einen Discourse-Server eingerichtet und ihm erlaubt, Testkonten zu erstellen, von denen ich wusste, dass sie nach der Einrichtung von SSO letztendlich obsolet sein würden. Ich habe alles eingerichtet, mein Theme angepasst und mit meinem Admin-Konto A Kategorienbeschreibungen für alles verfasst.

Nachdem ich DiscourseConnect eingerichtet hatte (als einzige Anmeldemöglichkeit), meldete ich mich mit meinem Admin-Konto aus dem anderen System an und verlieh diesem Konto B Adminrechte. Von nun an würde ich alles über Konto B erledigen, da ich mich nicht mehr als A anmelden konnte.

Dann stieß ich auf die Schaltfläche „Personifizieren" und wurde neugierig. Es schien, als müsste ich Konto A nicht löschen, wenn ich sie einfach personifizieren könnte, um Kategorienbeschreibungen, FAQs usw. zu bearbeiten. Also nutzte ich B, um A zu personifizieren, führte eine Reihe von Änderungen zum Testen durch und alles lief gut.

Bis ich neugierig wurde, ob ich auch das Bot-Konto des Forums personifizieren könnte. Also, während ich noch A personifizierte (der zufällig ein Admin war), entschied ich mich, C zu personifizieren. Es funktionierte, großartig, also loggte ich mich sorgfältig ab und ging meinem Tag nach.

Jetzt kann ich mich, wenn ich als B angemeldet bin, nicht mehr als A oder C personifizieren (andere Benutzer sind in Ordnung). An der Stelle, wo die Schaltfläche erscheinen sollte, steht nur noch „Administratoren und Moderatoren können nicht gelöscht werden".

Die Logs besagen, dass „B A personifiziert hat" und „A C personifiziert hat".

Ich war mir nicht sicher, ob dies einen Fehlerbericht rechtfertigt – da ich meine Schritte derzeit nicht reproduzieren kann – oder ob es eine einfache Möglichkeit gibt, dies zu beheben?

Vielen Dank im Voraus,
Flo

Hey Flo, willkommen in der Community :waving_hand:t2:

Der Button „Als Benutzer ausgeben" ist immer noch da, und ich habe die neueste Version.

Ist es möglich, sich beim Admin-Konto A über /users/admin-login per E-Mail anzumelden? Das könnte Ihnen helfen, den Knoten zu lösen.

Hallo Gavin,

wie kann ich über die Oberfläche herausfinden, welche Version ich habe? Im Dashboard steht „zuletzt aktualisiert am 3. August", aber ich kann keine Versionsnummer sehen.

Vielen Dank

Hallo JammyDoger,

ich wusste nicht, dass diese Route existiert! Das löst definitiv das Problem der Umgehung von DiscourseConnect, auch wenn ich den Knoten sozusagen noch nicht lösen konnte. Die „Als Benutzer übernehmen"-Buttons werden für Benutzer A angezeigt, also nehme ich an, dass derzeit niemand übernommen wird?

Du kannst den Quellcode einsehen. Es ist nicht schwer, ihn zu finden.

Besuche /u/admin-login und ändere die E-Mail-Adresse des Admin-Kontos in eine, über die eine Anmeldung via SSO möglich ist. Du kannst die Adresse auch über die Rails-Konsole ändern.

Hallo Jay,

ich habe fälschlicherweise angenommen, dass es, wenn du die Informationen absichtlich vor Administratoren verbergen würdest, nicht öffentlich sein würde. Also bleibt es bei 2.8.0.beta4.

Bezüglich deines zweiten Vorschlags möchte ich das nicht tun, da Benutzer A auf meinem anderen System keine Entsprechung hat. Allerdings kann potenziell jeder Benutzer ein Konto im Forum haben.

Kannst du dich jetzt vom Admin-A-Konto abmelden, um sicherzustellen, dass es wieder auf „Admin" zurückgesetzt ist und nicht jemanden vortäuscht?

(und melde auch Admin B ab, nur zur Sicherheit :slightly_smiling_face:)

Hallo JammyDodger,

Ja, ich habe mich von beiden ab- und wieder bei B angemeldet, aber leider ohne Erfolg :upside_down_face:

Sieht Ihrer so aus?

Das ist das Ende meines kleinen Wissensvorrats. :slightly_smiling_face: Ich war mir nicht sicher, ob Administratoren andere Administratoren impersonieren können (ich dachte, das könnten nur Entwickler). Hast du Admin B von dieser Liste entfernt?

Hoffentlich kann jemand mit tieferem Fachwissen noch einen wertvollen Beitrag leisten. :slightly_smiling_face::crossed_fingers:

Hallo Gavin,

nein, ich sehe keinen Versionsbereich.

Dann ist Ihr Konto kein Administrator.

Ich schlage vor, dass Sie Ihr Konto B, wie von @JammyDodger erwähnt, im Abschnitt Dev der app.yml hinzufügen.

  ## TODO: Liste der durch Komma getrennten E-Mail-Adressen, die beim ersten Login zu Administratoren und Entwicklern werden
  ## Beispiel: 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'gavin@truecode.co.za'

Sie scheinen doch auf dem richtigen Weg gewesen zu sein, danke!
Ihr Input wurde sehr geschätzt ˆˆ

Das hat funktioniert, die Buttons zum Imponieren sind wieder da! Danke, Gavin ˆˆ

Dennoch sehe ich immer noch nicht den Versionsabschnitt im Dashboard, und es bleibt unklar, warum ich überhaupt jemanden impersonieren konnte.