Quindi ho imparato ASP.Net MVC insieme a Entity Framework dalla prima prospettiva del database.
Il framework delle identità che è incluso nei modelli di progetto sembra molto interessante e mi farà risparmiare un sacco di tempo poiché scrivere questi tipi di sistemi è sempre un lavoro che richiede tempo. Ci sono un paio di cose di cui non sono sicuro e ho pensato che sarebbe stato meglio chiedere qui prima di immergermi nell'uso di questo framework nel mio prossimo grande progetto.
In primo luogo, quel database che crea al volo, può essere il mio database principale dell'applicazione o dovrò eseguire 2 (uno per le identità e uno per la mia app principale)? La struttura è abbastanza intelligente da non interferire con le tabelle che creerò e gestirò?
In secondo luogo, ho notato che le password sono memorizzate come hash (buono), ma non c'è traccia di sale ovunque. Esattamente quanto è sicuro questo hash che viene creato? Dovrò cambiare questo meccanismo di hashing per essere più sicuro?
In terzo luogo, la tabella utente non contiene tutte le informazioni che voglio associare a un utente. Spero di essere in grado di creare un'altra tabella con una relazione 1 a 1 con questa tabella che conterrà tutti i dati di cui ho bisogno. Non posso prevedere alcun problema con questo, ma qualcun altro ha fatto qualcosa del genere con successo?
Innanzitutto, avrò bisogno di un sistema basato su ruoli e permessi nella mia applicazione. Suppongo che sarò in grado di utilizzare i ruoli e le affermazioni nel quadro dell'identità per fare questo, o farò meglio a scrivere la mia implementazione?