7

En un asp.net página web genérico con Membership, Roles y hash contraseñas habilitadas, me gustaría ofrecer los administradores con impersonation para que puedan navegar por el sitio web, ya que usuario haría. El sitio web debería funcionar como si ese usuario estuviera conectado y luego poder volver a su propio inicio de sesión.suplantar a un usuario suscrito en ASP.NET

¿Cuál es el mejor enfoque para lograr esto?

Un caso de uso de ejemplo: Un sitio web con dos tipos de usuarios: 'Comprador' y 'Administrador'. El sitio web proporciona un botón de "Compra" para comprar algo específicamente proporcionado al usuario por los administradores. Es decir, solo ese comprador puede usar el botón de compra y realizar un pago. El usuario tiene problemas para que un administrador de soporte pueda 'suplantar' el inicio de sesión del usuario y comprar en su nombre o 'ver' el problema al que se enfrenta.

Sin suplantación, la única forma es permitir esto en el código y eso niega el propósito de 'ver el problema del usuario'. Ni siquiera si no usaba contraseñas hash y había usado FormsAuthentication.SignOut() y había iniciado sesión manualmente en el administrador como el usuario.

Espero que tenga sentido arriba.

Respuesta

1

No tengo el código que solía hacer esto en frente de mí (asignación de hace unos años), pero hay bits en la API de Membresía para firmar a alguien usando código. No tendré acceso al código hasta este fin de semana, desafortunadamente, o podría compartir los bits rápidamente y terminar con esto.

Recuerdo que primero se tenía que obtener al usuario como membresía, utilizando la clase Membresía. No estoy seguro, a partir de este punto, de si tuvo que validar contra proveedor o qué. Usamos un proveedor personalizado, pero olvidé si estaba relacionado con esta solución.

Independientemente, examine los bits de seguridad, centrándose en la membresía y membershipUser.

6

Eche un vistazo a this sample en codeproject.com. Creo que hace lo que estás buscando.

+0

gracias, parece un buen punto de partida –

Cuestiones relacionadas