Ho provato per 2 giorni a ottenere qualcosa di funzionante, ma finora è stato inutile. Quello di cui ho bisogno è gestire gli utenti e i loro ruoli, nient'altro.ASP.net MVC 4 Amministrazione utenti e ruoli (la proprietà "Membership.Provider" deve essere un'istanza di "ExtendedMembershipProvider".)
Quello che ho provato è capire come farlo in MVC ma non riesco a trovare un tutorial dettagliato su come farlo, sia su Internet o in qualsiasi libro MVC 4.
ho iniziato attivando il database aspnet con l'utilità Aspnet_regsql, questo crea queste tabelle:
Questo è tutto quello che ho trovato sul tutorial, non mostra come interagire con queste tabelle (che presumo sia con il provider di appartenenze predefinito), finora ho trovato che ci sono 3 opzioni principali per fare questo:
- provider di appartenenze predefinito (da cui non so nulla)
- Provider universali
- SimpleMembership
ho trovato questo tutorial:
http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-7
Qui chiedono di creare un nuovo progetto di applicazione MVC 4 con modello di applicazione internet e copiare tutti i file relativi alla controllo dell'account.
l'ho fatto per il mio progetto, ma non appena provo ad entrare in ottengo:
chiamare questo metodo, la proprietà "Membership.Provider" deve essere un'istanza di "ExtendedMembershipProvider".
che secondo il forum: http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/d352bb1b-577c-42b7-8872-5ed59cd65f32/
è a causa di come ho definito il profilo, associative e roleManager fornitori sul mio file web.config, che è definito come segue:
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="DatabaseConnection" applicationName="/" />
</providers>
</profile>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="DatabaseConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="DatabaseConnection" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
All I è necessario poter aggiungere nuovi utenti, assegnare loro ruoli e mostrare contenuti diversi in base al ruolo che accede alla vista.
Domanda # 1 Qual è il provider di appartenenze in uso quando creo un'applicazione MVC 4 con un modello di applicazione di Internet?
Domanda # 2
Che cosa sto facendo di sbagliato con il file web.config? Come posso definire correttamente i provider?
Domanda # 3
Quale opzione mi si addice meglio? Se conosci un buon tutorial per questo potresti collegarmi ad esso?
Qualsiasi aiuto sarà davvero apprezzato! Grazie in anticipo!
Hai visto ASP.NET Simple Membership? Ecco un buon punto di partenza: http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5 -web-forms-and-asp-net-mvc-4-templates.aspx – Floremin
Ho appena notato che la mia classe di controller ha un [InitializeSimpleMembership] che afferma chiaramente che sto usando la semplice appartenenza Sul link che mi hai inviato mostrano come il web. il file config definisce i provider, li ho appena aggiunti al mio web.config e non appena effettuo il login, ottengo sempre lo stesso o chiamo questo metodo, la proprietà "Membership.Provider" deve essere un'istanza di "ExtendedMembershipProvider". Che cosa sto facendo di sbagliato? – oskar132
Hai provato a iniziare "clean" con Simple Membership? Questa discussione potrebbe aiutare: http://stackoverflow.com/questions/13324544/how-to-add-asp-net-membership-provider-in-a-empty-mcv-4-project-template – Floremin