Attualmente sto costruendo un nuovo progetto ASP.NET MVC 5 che voglio rilasciare verso settembre. Ho bisogno di scegliere un sistema di appartenenza, ma al momento sono abbastanza confuso su quale direzione dovrei prendere. L'attuale SimpleMembership funziona bene, ma apparentemente non sarà compatibile con la prossima Identità ASP.NET. L'identità ASP.NET d'altra parte è assolutamente nuova con zero documentazione e può cambiare in qualsiasi momento. Infine sembra che qui vengano utilizzati gli ID basati su stringhe, il che sembra un sovraccarico molto superfluo rispetto agli ID basati su numeri interi, supportati da SimpleMembership. Esiste un modo valido e a prova di futuro che posso scegliere?Identità ASP.NET
risposta
Vorrei sconsigliare l'utilizzo di SimpleMembership. È comunque possibile utilizzare gli ID int nel database, si avrebbe solo bisogno di ToString() l'ID quando collegato il soggetto banca dati, vale a dire:
public class MyUser : IUser {
[Key]
int UserID { get; set; }
string IUser.Id { get { return UserId.ToString(); } }
}
A mio parere se si avvia il progetto con asp.net mvc 5 è necessario utilizzare il nuovo sistema di appartenenza poiché è ben integrato con gli standard http://owin.org/.
Inoltre stiamo aggiungendo altri tutorial e su SO c'è molto supporto. – RickAndMSFT
Vorrei utilizzare la versione più recente di identità o di costruire il proprio account sistema completamente. L'identità di ASP.NET ora usa un GUID (NVARCHAR (128) - nel db) per l'ID, tuttavia puoi ancora usare un int se vuoi. So che le persone usano ancora l'identità 1.0 senza problemi, credo che abbiano usato int per l'ID.
In entrambi i casi un ID non dovrebbe mai scontrarsi se è un int o un guid. come detto sopra, puoi solo Id.ToString();
Qualsiasi percorso tu abbia, non penso che farà molta differenza.
Credo che ASP.NET sia un buon framework e fornisca quasi tutte le funzionalità richieste per un'applicazione. Fornisce anche la possibilità di scegliere il tipo di colonna Id secondo la vostra scelta. Ho creato un wrapper di base sull'identità ASP.NET e ho pubblicato un nuget, in modo che fosse facilmente utilizzabile. Puoi dare un'occhiata al codice github
- 1. Password cambio identità ASP.NET
- 2. Identità ASP.NET nell'architettura Microservice
- 3. identità asp.net - SetPasswordHashAsync
- 4. Asp.net Identità Errore di convalida
- 5. Autenticazione LDAP con identità Asp.NET
- 6. ASP.NET MVC Identità implementazione predefinita
- 7. Identità identità ASP.NET quando il progetto viene creato senza autenticazione
- 8. email Identità con il precipitare in Asp.Net Identità
- 9. Identità ASP.NET + token bearer + multi-tenant
- 10. Autenticazione cookie OWIN senza identità ASP.NET
- 11. Integrazione ASP.Net MVC e identità WCF (Claims)
- 12. Utilizzando ASP.Net identità in MVC 4
- 13. Verifica token di accesso - Identità Asp.Net
- 14. Diritti di implementazione con identità ASP.NET
- 15. eccezione dopo l'aggiornamento ASP.NET Identità a 2,0
- 16. Identità principale ASP.NET - Estensione password Hasher
- 17. ASP.NET MVC Login identità senza password
- 18. ASP.NET Core MVC: impostazione scadenza cookie identità
- 19. Asp.Net Identità salvare utente senza email
- 20. Asp.net identità mvc SecurityStamp signout ovunque
- 21. Invalidate Old Session Cookie - Identità ASP.Net
- 22. Identità ASP.NET e provider di appartenenze ASP.NET "Mashup"
- 23. ASP.net MVC + ASP.net Identità Semina ruoli e utenti
- 24. quali sono le differenze tra Membership, SimpleMembership, Identità ASP.NET?
- 25. Aggiunta di ruolo da tavolo AspNetUserRoles in ASP.NET Identità
- 26. ASP.Net MVC 5 con identità 2.2.0 Disconnessione non funzionante
- 27. ASP.NET Identità con Repository e unità di lavoro
- 28. ASP.NET Identità registrazione dell'utente registrare e ultima volta connessi
- 29. API Web provider di identità esterna ASP.NET senza cookie
- 30. Identità ASP.net 2.1 Ottieni tutti gli utenti con i ruoli
I guai formattati per le stringhe sono usati al posto dei guids effettivi per consentire lo scambio del meccanismo di persistenza più facilmente, ad esempio se volevi usare una soluzione nosql che non offriva supporto per GUID. La colonna id è indicizzata e sebbene una colonna int indexed funzioni meglio, la differenza è trascurabile per la maggior parte delle applicazioni. – joelmdev
Vedere http://stackoverflow.com/questions/19238621/why-do-the-asp-net-identity-interfaces-use-strings-for-primary-and-foreign-keys/19283502#19283502 per il motivo che i GUID sono Usato. – RickAndMSFT