5

Giusto, quindi .. penso di essere confuso !!ASP.NET Identity 2 to 3

Ho alcuni siti ASP.NET MVC 5 in esecuzione utilizzando ASP.NET Identity 2.1 e tutto è perfetto. Sto creando un nuovo sito MVC 6 e vorrei che gli utenti usassero le credenziali esistenti che utilizzano per altri sistemi. Ho già provato il qui sotto:

  1. Migrazione l'identità ASP.NET 2 database per 3 (dice che non può, come già esistono le tabelle, ho pensato che sarebbe la migrazione degli utenti in tutta onestà)
  2. provato ottenere MVC 6 per lavorare con ASP.NET Identity 2.1 e fallito miseramente

Mi sto solo chiedendo quali sono le mie opzioni poiché la documentazione non è eccezionale sulla nuova versione, capisco che ci sono modifiche DDL nel DB ma ero sperare che ci sia un modo per i miei siti Web MVC 5 di andare avanti così come avviene con il database .NET Identity 3 compatibile con 2.1.

La mia altra opzione è di aggiornare le app MVC 5 per utilizzare Identity 3, che a mia volta credo significhi aggiornarle su MVC 6, che è qualcosa per cui non ho realmente le risorse o per avere un'identità completamente nuova database (che sembra l'opzione meno confusione).

Qualsiasi opinione sarebbe utile, senza dubbio ho perso alcuni dettagli così felice di compilare gli spazi vuoti se qualcuno avesse ulteriori domande sulla configurazione.

+0

nessuno? :( – MrKobayashi

risposta

2

stavo facendo la stessa cosa, la sua una buona dose di sforzo - e si dovrà eseguire db migrazioni, ma primi

I nuoviASP Identità V3 Tabelle & migrazione

The ASP Identity V3 Tables & Migration

La nuovaASP Identità V3 campi

The fields inside the users table, you can extend this, see below

Configurazione delle tabelle In Startup.cs e cambiamento services.AddIdentity

services.AddIdentity<ApplicationUser, IdentityRole<int>>() 
    .AddEntityFrameworkStores<ApplicationDbContext, int>() 
    .AddDefaultTokenProviders(); 

In ApplicationContext.cs e cambiare la classe al seguente identificativo.

public class ApplicationDbContext : IdentityDbContext<ApplicationUser, IdentityRole<int>, int> 

In ApplicationUser.cs e modificare la classe nella seguente firma.

`public class ApplicationUser : IdentityUser<int> {...}` 
  • dato tutte le modifiche che ho trovato più facile per cancellare tutto nella cartella migrazioni (ad eccezione delle migrazioni). Vai al prompt dei comandi su la directory del progetto e digita/aggiungi una migrazione in questo modo dotnet ef migrations add MyDatabaseHere -o Data\Migrations. (-o L'opzione è di specificare la cartella di destinazione e non la cartella radice)
  • per qualsiasi problema con la migrazione Vorrei semplicemente rilasciare il database e semplicemente distribuire di nuovo.
  • o è possibile automatizzare con this non ho provato questa

Ho due script di migrazione da EF, non ero sicuro perché ... ma per ulteriori riferimenti da github links 1 & 2

2

Implementa IdentityServer3, può collegarsi direttamente al tuo DB EF di identità ASP.Net esistente. Quindi usa gli altri siti come client oAuth, essendo MVC 5 e/o MVC 6 non importa perché tutto ciò che faranno è passare i token sicuri avanti e indietro tra il tuo sito IdentityServer3.

Problemi correlati