2010-08-24 31 views
8

Siempre me he mantenido alejado de la membresía asp.net ya que parecía inflada, y (en ese momento) no comprobable. En el caso de asp.net MVC específicamente, ¿alguien usa una solución alternativa para asignar roles a los usuarios y almacenar alguna información adicional para el usuario que ha iniciado sesión? ¿Alguna recomendacion? ¿Es una locura hacer tu propio, simplemente implementando la funcionalidad que necesitas?Alternativas de membresía ASP.NET

+0

Si necesita una alternativa, entonces probablemente tenga algunas razones ... ¿podría compartirlas con nosotros? ¿Qué falta en la membresía de asp.net que quieres usar? –

+3

No estoy seguro de cómo está "hinchado". En todo caso, es un poco pobre en el lado de los roles. – Greg

+0

Puede agregar columnas a las tablas generadas por aspnet_regsql, y funciona bien. A continuación, puede consultar las tablas en algo parecido a un modelo de entidad si lo desea. De esta forma, aún puede usar el proveedor de membresía de ASP.NET en la medida en que funcione para usted, pero también puede beneficiarse de la información adicional que está almacenando. – Andrew

Respuesta

3

La pertenencia a ASP.NET utiliza un modelo de proveedor para el almacenamiento. SqlMembershipProvider hereda la funcionalidad de contraseña de cifrado/hash de la clase abstracta MembershipProvider. Pero también podría heredar de MembershipProvider y obtener esa funcionalidad en un proveedor personalizado si así lo desea.

Si utiliza SqlMembershipProvider, obtiene una base de datos de miembros totalmente funcional con administración completa de contraseñas (comprobación, cambio, restablecimiento, intentos de contraseña no válidos) y administración de usuarios (operaciones CRUD, bloqueo de usuarios).

Todo eso en un nivel de API. Puedes crear las IU que quieras contra la API.

Utilizando el SqlMembershipProvider no le requiere utilizar el proveedor de roles o el proveedor de perfil o cualquiera de esas otras cosas, y se puede rodar su propia para esas cosas sin afectar la adhesión. Por lo menos, recomendaría usar el bien probado SqlMembershipProvider como el núcleo de su seguridad para las cosas básicas.

+0

Supongo que el problema es cuando necesita extenderlo. O bien, su esquema existente no coincide con el db SqlMembershipProvider. – Roco72

+0

extendiendo el SqlMembershipProvider podría ser problemático. Personalmente utilizo SqlMembershipProvider en una aplicación que se ejecuta principalmente en Oracle. Esas tablas solo están en su pequeña base de datos sin preocuparse por la base de datos principal de negocios y parece funcionar bien para mí. – Greg

0

He implementado con éxito DotNetOpenAuth como membresía y proveedor de roles. No es una implementación completa, pero maneja los escenarios más comunes.

Proporcionan plantillas VS para que pueda comenzar.

Cuestiones relacionadas