2009-02-14 18 views
6

Escenario: En un sistema de comercio electrónico, un usuario del servicio de ayuda debería "suplantar" o "iniciar sesión como" un cliente específico (desde el sitio de administración basado en web) para que pueda apoyar al cliente de primera mano, por ej. cuando el cliente está en el teléfono.Suplantación de usuario con Autenticación de formularios de ASP.NET

Aclaración adicional: no es necesario realizar un seguimiento del contexto de autenticación original. Simplemente debemos proporcionar el botón "Iniciar sesión como" que se iniciará como cliente sin que el usuario del servicio de asistencia necesite saber la contraseña.

¿Alguna idea de cómo se podría implementar este escenario utilizando la autenticación regular de formularios ASP.NET?

Respuesta

3

Maybee No entiendo exactamente el escenario. Pero, ¿por qué no dejar que el soporte inicie sesión como usuario?

FormsAuthentication.SetAuthCookie("yourCustomersUserName"); 

Entonces será hasta el sistema de comercio electrónico para tener una versión actualizada de "compra" o lo que sea lo que el apoyo puede ayudar ..

+0

¿Podrías simplemente tomar el nombre de usuario de un cuadro de texto que el chico de soporte escribe en el nombre de usuario? – ullmark

+0

¡Gracias, lo intentaré! – JacobE

+0

¿La sesión cambia automáticamente cuando cambia la cookie de autenticación? – JacobE

3

pude conseguir que esto funcione, suponiendo' Si un usuario ya inició sesión, puede suplantar a otro usuario con el siguiente código.

FormsAuthentication.SignOut(); 

FormsAuthentication.SetAuthCookie("username", true); 
+0

+1 funcionó perfectamente para mí – andynormancx

Cuestiones relacionadas