Ho un'applicazione ASP.NET (MVC) generica, che utilizza NHibernate come livello di persistenza del modello e Membership/ruolo/profilo ASP.NET servizi come livello di gestione degli utenti.Le migliori pratiche per unire i servizi di appartenenza/ruolo/profilo ASP.NET e nibire
La domanda è ciò che può essere considerato come la migliore pratica per creare collegamenti tra i dati del dominio e gli utenti. (Ad esempio, voglio creare un sistema di forum che desideri collegare ciascun argomento/post a un utente specifico e voglio visualizzare l'utente a ogni richiesta).
Questi sono i posiibilites Ho pensato di:
Conservare l'ID utente in NHibernate (come avere una colonna Guid in tutte le classi di dominio (messaggi, Tematiche etc.) che ha bisogno di fare riferimento a un utente) e utilizzare GetUser ogni volta che è necessario il nome dell'utente dal guid (che potrebbe causare n + 1 query)
variante B: In alternativa, memorizzare anche il nome utente.
- Utilizzare lo stesso database e creare un utente con dominio maintaned di sola lettura NHibernate User, che esegue il mapping agli stessi dati dei servizi M/R/P.
- Dimentica M/R/P e crea un servizio di gestione utenti separato basato su NHibernate
- Dimentica entrambi e usa J2EE/RoR/merb/DJango/ecc. (Si prega di non scegliere questa opzione :))
- altro ...
Cosa fare intendi per "memorizzare l'ID utente in NHibernate"? – epitka
Voglio dire che memorizzo il guid dell'utente per esempio nella classe Topic/Post/Comment/etc, e uso GetUserName dal membershipprovider per ottenere il suo vero nome dal guid. – SztupY