Pregunta

Tengo una aplicación ASP.NET MVC en el que acabo integrado el RPX sistema de identidad federada de terceros. La integración funciona bien, pero estoy teniendo algunas dificultades para envolver mi cabeza en torno a qué hacer con ella a nivel de ASP.NET.

Debido a que la identidad se maneja externamente, no tengo necesidad de contraseñas en mi aplicación: Nunca recibo la contraseña del usuario, sólo su identidad. Sin embargo, las cosas Proveedor de ASP.NET La adhesión requiere contraseñas pueden pasar todo el fin de crear un usuario, un usuario registrarse, etc.

He estado pensando en utilizar new Guid() en tiempo de creación, pero esto requeriría una llamada a la base de datos para recuperar la contraseña del usuario antes de que pudiera firmar el usuario en a través del proveedor de pertenencia. Podría usar la misma contraseña para cada usuario para que se le conoce con antelación, pero me preocupa que esto haría que los datos de usuario de mi insegura.

Me interesaría escuchar cómo otros sitios de manejar este problema, por ejemplo, stackoverflow.

[Por favor, véase también mi otra pregunta , en relación con los proveedores de pertenencia para este tipo de aplicación.]

¿Fue útil?

Solución

  

pero me preocupa que esto haría que los datos de usuario de mi insegura.

Para comenzar, asegurándose de que nadie puede autenticar directamente en contra de su base de datos utilizando un nombre de usuario y contraseña - Me imagino que esto ya es el caso, ya que está utilizando RPX para hacer la autenticación real, y sólo se está invocando el proveedor de pertenencia ASP.NET vez ya ha establecido la identidad del usuario.

A continuación, la contraseña almacenada en su lado se convierte en irrelevante, porque no es un secreto - si puedo trabajar en lo que la contraseña de alguien está de su lado, y cuando no comprometa repente sus datos, ya que todavía no puedo iniciar sesión usando ese información. secreta del usuario es gestionado por el proveedor de tercera parte, no usted.

Así que también podría almacenar lo que es más conveniente (es decir, un valor ficticio conocido) - que también podría desactivar el cifrado de la contraseña, así en el proveedor de pertenencia, para volver algunos ciclos en el servidor. No hay punto en la encriptación / valores que no se utilizan para verificar la identidad de nadie hash.

Otros consejos

¿Por qué la pertenencia asp.net uso entonces? No encaja realmente en lo que está haciendo, que es la autenticación tercera parte. Tal vez usted podría echar un vistazo a la dotnetopenid y ejemplos de proyectos ya que tienen un ASP clásico. ejemplo sitio de red que podría modificar para MVC? Tienen un wiki aquí Tal vez google dotnetopenid MVC?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top