2013-10-11 18 views
5

Sto migrando il mio progetto in MVC 5 e ho appena installato Visual Studio 2013 RC. Per quanto posso vedere, deve esistere un file denominato IdentityConfig.cs nella directory , ma anche se creo un nuovo progetto, quel file è mancante. Sto pensando che forse potrebbe riguardare la versione di Visual Studio che sto usando. Esiste comunque la soluzione a questo problema?IdentityConfig manca in MVC 5

Inoltre, non è possibile aggiungere ruoli o provider di appartenenze a web.config. Come posso farlo con IdentityConfig?

+0

Stai seguendo la [guida alla migrazione] (http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api- project-to-ASPNET-MVC-5-e-web-api-2)? – Stijn

+0

continua a lavorare sulla migrazione ma il fatto è che anche io apro un nuovo progetto vuoto manca IdentityConfig.cs. – Cromwell

+0

Cosa ti fa pensare che il file dovrebbe essere lì? Hai letto da qualche parte? – Stijn

risposta

6

IdentityConfig.cs non è più richiesto ed è stato rimosso nella versione RC. Questo è discusso nell'articolo "Introducing ASP.NET Identity". Ecco lo snippet pertinente di questo articolo.

seguito sono riportati i notevoli cambiamenti da 1.0.0-alpha1 - 1.0.0-beta1

  • In questi modelli non più necessarie IdentityConfig.cs
  • sacco di API pubbliche sono stati cambiati per rinomina e refactoring del codice.
  • Il supporto delle transazioni è stato aggiunto al framework.
+0

Guardando gli esempi di identità ufficiale di NuGet ASP.NET, stanno utilizzando il file * IdentityConfig * per cose come DatabaseInitializers, la registrazione di altri provider di autenticazione (ad esempio, Two Factor, Facebook, ecc.) E la definizione del proprio ApplicationUserManager, ApplicationRoleManager , ecc. Quindi, senza questo file ora, mi chiedo allora qual è la "migliore pratica" o la convenzione generale per cui le persone stanno mettendo queste cose adesso? – Funka

+2

@ Funka - Buona osservazione. Il team Identity ASP.NET ha reintrodotto IdentityConfig.cs negli esempi di versione 2.x.Non è ancora richiesto, ma ciò che questa squadra ha scelto di buttare un sacco di materiale per far funzionare il campione. La migliore pratica? A prima vista non sembra così, ma dovrei rivederlo in modo più dettagliato per fornire una risposta migliore. –

0

Il progetto di Olav Nybø (click here) non ha fornito la risposta esatta ma almeno ho trovato una risposta alternativa alla mia domanda.

+0

E quale sarebbe questa risposta alternativa, esattamente? – vbullinger

3

Che cosa si dovrebbe trovare in App_Start è un file Startup.Auth.cs configurare il middleware autenticazione/autorizzazione per il sito.

ASP.NET MVC 5 non utilizza i provider di ruoli e i provider di appartenenze che sono presenti da ASP.NET 2.0. Potresti ancora configurarli in un sito web, ma probabilmente vorrai sbarazzarti del middleware.

Per middleware, la maggior parte delle funzioni di authz si stanno spostando nel middleware OWIN per ASP.NET. Il file StartupAuth.cs e AccountController in un nuovo progetto MVC 5 mostrano un po 'come tutto può funzionare insieme, sebbene non sia ben documentato.