Prácticas recomendadas para unirse a los servicios de membresía / rol / perfil de nhibernate y ASP.NET

StackOverflow https://stackoverflow.com/questions/1000204

Pregunta

Tengo una aplicación genérica ASP.NET (MVC), que utiliza NHibernate como la capa de persistencia del modelo, y los servicios de Membresía / rol / perfil de ASP.NET como la capa de administración de usuarios.

La pregunta es qué se puede considerar como la mejor práctica para crear enlaces entre los datos del dominio y los usuarios. (Por ejemplo, si quiero crear un sistema de foro, quiero vincular cada tema / publicación a un usuario específico y quiero mostrar al usuario en cada solicitud).

Estas son las posiibilidades que he estado pensando:

  1. Almacene el ID de usuario en NHibernate (como tener una columna Guid en todas sus clases de dominio (Publicaciones, Temas, etc.) que necesita hacer referencia a un Usuario) y use GetUser cada vez que necesite el nombre del usuario de el guid (que podría resultar en n + 1 consultas)

    Variante B: también puede almacenar el nombre de usuario.

  2. Use la misma base de datos y cree un Usuario de objeto de dominio mantenido NHibernate de solo lectura, que se asigna a los mismos datos que los servicios M / R / P.
  3. Olvídese de M / R / P y cree un servicio de administración de usuarios por separado basado en NHibernate
  4. Olvídate de ambos y usa J2EE / RoR / merb / DJango / etc. (por favor no elija esta opción :))
  5. otro ...
¿Fue útil?

Solución

Iría al paso 2 (casi, ya que no necesariamente tiene que ser de solo lectura) y crearía un proveedor de membresía personalizado para NHibernate.

Para ahorrar tiempo, puede utilizar uno existente como el de Manuel Abadia .

Con eso conserva toda la potencia de NHibernate (carga lenta, etc.) y también disfruta de los servicios de M / R / P.

Otros consejos

También hay un proveedor de membresía basado en NHibernate en CodePlex

4 chicos de Rolla tienen una excelente publicación si quieren crear su propio proveedor sobre la API de membresía de asp.net: http://www.4guysfromrolla.com/articles/110310-1.aspx

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