- Nella mia applicazione Web, vorrei consentire ai super utenti di impersonare altri utenti.
La mia domanda:Applicazioni Web: consentire ai super utenti di impersonare altri utenti - Esiste un modello di progettazione per questo?
C'è un modello di progettazione generalmente accettato che potrei usare per fare questo accadere?
- In generale, posso immaginare che avrò bisogno di tenere traccia di l'utente corrente e l'utente rappresentato all'interno della sessione.
Ma puoi capire che mi piacerebbe ridurre al minimo la complessità associata a questo cambiamento.
Per inciso, la mia applicazione è un'applicazione ASP.NET MVC 2, quindi se potessi sfruttare qualsiasi infrastruttura esistente, sarebbe fantastico.
EDIT: sto usando autenticazione moduli.
MODIFICA: Devo anche tenere traccia del fatto che un super utente agisce per conto di un altro utente. Dovrò farlo per due motivi:
- La registrazione dovrebbe registrare il fatto che un super utente ha agito per conto di un altro utente.
- È concepibile che il superutente desideri tornare alla schermata di rappresentazione per "cambiare contesto" e impersonare un altro utente.
EDIT: @ Jordão ha proposto una mostly workable solution. La mia unica preoccupazione è la seguente: se il superutente (mentre impersona un altro utente) naviga verso la schermata principale e la parte superiore dello schermo dice "Ciao [utente]", voglio dire "Ciao [Impersonated User]" come contrario a "Hello [Super User]". E temo che la soluzione di @ Jordão renderebbe più complessa l'implementazione di questo schermo e di altri schermi con requisiti simili.
Non farlo. Ha implicazioni sulla sicurezza e sulla privacy. Potresti anche dire che non è etico. –
@ Jordão per le applicazioni intranet lo facciamo sempre: è molto utile se qualcuno è lontano o è stato interrotto per permettere a qualcun altro di entrare come loro e occuparsi di qualcosa nella loro coda. – Sean
@Jordao, ci sono un sacco di scenari di servizio al cliente in cui * davvero * è necessario sapere cosa vede il cliente. Non puoi semplicemente agitare il dito su quei requisiti aziendali. –