Add 'stop impersonating' link to user avatar dropdown when impersonating

I really like this idea @John_Lehmann

Sometimes when I impersonate someone (albeit, not very often) I forget and keep trying to do admin type things and then realize I’m in someone elses account.

Another downside of the current process is that you have to click on the users avatar. I was impersonating a users that had 5 new notifications. When I clicked his profile, so I could log out of his account, it marks those notifications as read and no longer shows the (5) badge showing he has new notifications. How sad for him, when he returns! Hopefully he got some email notifications that will pull him back in!

Another community that I built and currently manage, is on the Higher Logic platform. I can’t tell you how much more I enjoy using Discourse than Higher Logic. But, now that I have that out of the way, I will say that I do like their method of impersonating users…

There’s a bar at the top of the screen, providing a constant visual reminder that you’re impersonating and a button to STOP, as well as a little orphan button at the bottom of the screen allowing you to STOP.

I don’t think they need both buttons. Top of the screen is sufficient.

I love @John_Lehmann’s suggestion with a more bold/obtrusive bar that stands out so you remember to get out of the user account before posting and doing other stuffs.

image

Not critical by any means.

I just came to meta, to see if there was a plugin for this, or something.

12 Mi Piace

Just ended up needing this today. I use the impersonate feature to post category guidelines, or other pinned topics or replies in them under the @system account. What I currently do is post them under mine, then change ownership to @system, but what if someone has the topic set to watching, then they would see that it was me. I’m not necessarily trying to be anonymous when posting these, although, I just don’t want those posts under my name. I could make an alt whose purpose is to post these, although I would have to log in from a private window each time, which is bad ux.

2 Mi Piace

Vorrei anche poter tornare al mio account utente al termine dell’impersonificazione. Questo è possibile con tutte le implementazioni che ho utilizzato per questa funzionalità in WordPress.

3 Mi Piace

Sono d’accordo, non è essenziale ma è un enorme cambiamento e non penso che mettere un banner in cima con il pulsante di logout sia così complicato.. potremmo probabilmente creare un plugin ma sicuramente una semplice modifica al core sarebbe meglio.

+1 all’idea di @John_Lehmann.

4 Mi Piace

Mi chiedo se questa funzionalità necessiti di una rivisitazione.

Impersonate è sempre stato uno strumento molto potente implementato quasi come un hack.

Un’implementazione non-hacky potrebbe essere significativamente meno inquietante e molto più facile da giustificare come funzionalità predefinita di Discourse.

  • Quando impersoni un utente hai solo una visualizzazione “sola lettura” (a meno che non sia abilitata un’impostazione speciale nascosta del sito)
  • Banner in alto come suggerito da @John_Lehmann
  • Più cerimoniale quando si impersona, ad esempio: da un grande potere derivano grandi responsabilità

Nel complesso la funzionalità è molto utile per il debug, ma agire per conto di qualcun altro è estremamente pericoloso.

Mi chiedo se, per cominciare, @codinghorror abbia senso rendere la funzionalità “impersonate” attuale una funzionalità disabilitata sui siti Discourse e richiedere la modifica di un’impostazione nascosta del sito per abilitarla? Non ne sono sicuro?

12 Mi Piace

@sam concordo, scusa per il tag, ma sollevo questo problema da anni ed è importante per alcuni. La funzione di impersonificazione è quella che rende la privacy dell’utente una seria preoccupazione per Discourse, specialmente se si utilizza Discourse come piattaforma interna (lavorativa) di comunicazione e collaborazione.

L’abbiamo utilizzata in passato e stiamo ripristinando un’istanza di Discourse per il nostro sindacato. Non per gli iscritti, ma per gli ufficiali eletti. Per il periodo in cui ho amministrato la vecchia istanza, ero un rappresentante normale come la maggior parte. Ora sono nella leadership/amministrazione del gruppo, quindi il mio ruolo nell’organizzazione non sarebbe in contrasto con le capacità di un amministratore di Discourse di vedere tutto il materiale all’interno di tutte le categorie. Ma allora lo era…

Il nostro gruppo esecutivo aveva serie preoccupazioni riguardo a un amministratore che avesse la capacità di visualizzare le loro discussioni all’interno della loro categoria privilegiata (esecutiva). Ho risolto in modo rudimentale nascondendola ai membri non esecutivi con CSS (inclusa la visualizzazione da parte dell’amministratore) e indicando come visualizzare i log per vedere se avessi mai disabilitato il componente tematico specifico chiamato “privacy utente”.

L’altra GRANDE preoccupazione era che un rappresentante attivo che fosse un amministratore di Discourse (di nuovo, piuttosto che un tecnico IT assunto) potesse semplicemente impersonificare un altro utente, leggere messaggi privati e armeggiare nelle impostazioni personali e nei beni di qualcuno.

Tutto ciò che posso dire è che sarebbe fantastico se ci fosse un modo per concentrarsi sul fatto che gli amministratori non abbiano privilegi di visualizzazione globali, ma piuttosto un accesso amministrativo più limitato al sito, vedendo di default solo i contenuti a cui sono assegnati. Inoltre, un chiaro sistema di notifica designato per tutti gli utenti per evidenziare se lo staff amministrativo sta armeggiando con questo tipo di cose.

Chiamalo qualcosa di simile a Discourse Teams, forse Discourse Professional. Qualcosa che non sia inteso tanto come un forum Internet, ma più come una piattaforma di collaborazione e comunicazione esperta in ambito aziendale. Discourse brillerebbe in questo ruolo, a condizione che la capacità degli occhi dell’amministratore su tutto possa essere limitata/ridotta o eliminata. (soprattutto l’impersonificazione e la lettura dei messaggi tramite la scheda profilo/messaggi).

6 Mi Piace

Personalmente, non credo di avere un grande desiderio di impersonare un utente specifico, ma piuttosto di impersonare un ruolo/membro di un gruppo/livello di fiducia.

Ho trovato questo l’altro giorno, dove ho molte categorie private che mi appaiono come amministratore, eppure volevo vedere come sarebbe stato l’elenco degli argomenti per qualcuno a un livello T0, T1, ecc.

Forse questa funzionalità esiste già ed è separata dalla funzione di impersonificazione, immagino che oltre a questo, non sono sicuro per cosa altro le persone usino l’impersonificazione.

Questa funzione sarebbe sufficiente per la maggior parte?

7 Mi Piace

C’è così tanto su questo argomento in The Impersonated user should be notified that they are being Impersonated. Sono ancora d’accordo con le conclusioni raggiunte lì. tl;dr è un vicolo cieco, gli amministratori possono fare tutto, se non ti fidi degli amministratori non averne.

Forse un altro approccio sarebbe aggiungere qualche attrito all’impersonificazione tramite

  • aggiungere un popup “sei sicuro”, ricordando che verrà registrato e se vogliono solo testare qualcosa potrebbero preferire creare un utente di test e cancellarlo di nuovo quando finito. educazione just-in-time, per così dire.
  • inviare il link per impersonare via email (questo avrebbe il beneficio aggiunto di poter accedere in una finestra separata?) simile al download di backup

Mi piace anche l’idea di un’impostazione di amministrazione per disabilitare l’impersonificazione, disabilitata per impostazione predefinita. Non ha nemmeno bisogno di essere un’impostazione nascosta, ma avere l’impostazione, come il ripristino del backup, ridurrà il rischio che qualcuno si abitui a impersonare un altro utente o lo faccia per errore.

3 Mi Piace

Se hanno il controllo del sistema, hanno accesso ai dati. Hai bisogno di amministratori di cui ti puoi fidare e i tuoi utenti devono essere educati sul fatto che non c’è alcuna aspettativa di privacy. Questo vale per tutto il software utilizzato per la comunicazione e la collaborazione, anche se si utilizza la crittografia su tutta la linea.

Non è nemmeno possibile verificare veramente l’accesso a categorie e messaggi privati, qualsiasi amministratore malintenzionato determinato con accesso root può semplicemente prendere un backup dal file system e leggerli direttamente dal database.

3 Mi Piace

Questo è un ottimo punto. Ci sono probabilmente ancora alcuni casi in cui l’impersonificazione sarebbe utile, ma questo eliminerebbe quasi del tutto la mia necessità di impersonare gli utenti.

10 Mi Piace

Ogni volta che un utente ha qualche problema strano che l’amministratore o i suoi pseudo-utenti non riescono a trovare o che solo pochi utenti segnalano.

La privacy è una questione relativa. Affermo che la maggior parte dei forum si trova in una situazione in cui un utente non ha alcuna informazione privata. Pertanto, l’impersonificazione dovrebbe almeno essere un’opzione. Un avviso automatico quando accade non è affatto una cattiva idea, anche se è una soluzione piuttosto spesso non necessaria, ma più aperta.

3 Mi Piace

Per la cronaca, è stato suggerito un impersonation di livello di fiducia qui:

5 Mi Piace

Penso che vada bene, ho sempre considerato questa una funzionalità di debug per sviluppatori, non una vera “funzionalità”.

6 Mi Piace

Quando si impersona qualcuno e si ha finito, è necessario disconnettersi, quindi accedere nuovamente e completare l’autenticazione a due fattori (2FA) se è stata configurata.

Invece, nel menu utente ci può essere un pulsante che dice “Smetti di impersonare” e, quando si fa clic su di esso, si accederà al proprio account.

Personalmente, penso che questa sarebbe una funzionalità molto utile quando si impersona.

2 Mi Piace

Abbiamo appena unito una funzionalità sperimentale che ti consente di impersonare un utente senza dover effettuare il logout dopo.

Se vuoi usarlo, abilita l’impostazione del sito nascosta experimental_impersonation e segnala eventuali problemi qui. :folded_hands:

22 Mi Piace

Grazie per aver scoperto cosa volevano gli antichi! :abbracci: :occhi sorridenti:

9 Mi Piace

Fantastico! Lo userò regolarmente.

3 Mi Piace

Oh, grazie mille!

Una volta che questo sarà stabile, potresti immaginare impersonation_enabled_groups e fare il contrario: partecipare come membro normale e passare all’amministratore solo quando necessario… alias modalità sudo… Potrebbe consentire di cambiare persona su richiesta… Ad esempio, Discourse Staff Alias limita il pseudo-impersonamento a un singolo alias di team, ma espandendo l’impersonamento, si potrebbe essere in grado di cambiare persona in base a vari criteri…

Ad esempio, un membro di @well-being.team potrebbe pubblicare come alias di gruppo per deviare rancori personali, un autore potrebbe pubblicare come @narrator o @characterN per scrivere una storia interattiva, un insegnante potrebbe impersonare un alunno per comprenderne la prospettiva… tutto secondo gruppi personalizzabili. :blush:

Una funzionalità importante, immagino, sarebbe che le sessioni di impersonamento vengano registrate correttamente e note all’utente impersonato.

5 Mi Piace

Ho provato questa funzionalità experimental_impersonation e sembra buona! Fa quello che dice, e apprezzo di non dover passare attraverso i passaggi di disconnessione e poi riconnessione come me stesso.

@moin ha sollevato in 🇩🇪 Fehler in der Deutschen Übersetzung? Hier melden! - #108 by Moin che “impersonate” e “stop impersonating” non si traducono bene in tedesco. È difficile trovare le parole giuste che catturino il pieno significato di ciò che stai facendo. Questo potrebbe essere il caso anche per altre lingue, ma non ho controllato.

Mi chiedo se vogliamo passare (intenzionalmente) a termini più diretti come

Passa a @user_da_impersonare

nella pagina di amministrazione utente e poi

Torna a @user_che_ha_impersonato

sul pulsante per interrompere l’impersonificazione. Sarebbe probabilmente più facile da tradurre e anche più facile da capire per i non madrelingua inglesi.

I test di oggi hanno anche scoperto altri problemi:

  • Penso che ci debba essere una modale per impersonare, simile all’eliminazione o alla fusione. Questo ti permette di annullare nel caso in cui premi accidentalmente il pulsante, e educa anche l’amministratore su ciò che stai per fare, che verrà registrato e che potrai tornare indietro senza dover accedere di nuovo.
  • Il fatto che stai impersonando e tornando indietro viene registrato nel log delle azioni dello staff, ma le azioni intraprese durante l’impersonificazione non vengono registrate. Penso che avrebbe senso registrarle anche dato quanto questa funzionalità sia incline ad essere abusata, accidentalmente o intenzionalmente.
  • Un vecchio problema persiste ancora, ovvero che quando impersoni un utente, viene aggiornata la sua data dell’ultima visualizzazione nell’elenco utenti e nell’amministrazione utenti, e (presumibilmente) in “chi è online” se quel plugin è installato.
8 Mi Piace

Mi piace quell’idea di switch, perché in finlandese è difficile trovare una traduzione adatta. Abbiamo una o due parole per questo, ma nessuna di esse suona molto bene. Switch funzionerebbe benissimo.

1 Mi Piace