Próbowałem przez 2 dni, aby coś działało, ale do tej pory nie miało to sensu. Potrzebuję zarządzania użytkownikami i ich rolami, niczym więcej.ASP.net MVC 4 Administracja użytkownikami i rolami (właściwość "Membership.Provider" musi być instancją "ExtendedMembershipProvider".)
Próbowałem zrozumieć, jak to zrobić w MVC, ale nie mogę znaleźć szczegółowego samouczka, jak to zrobić, w Internecie lub w książce MVC 4.
zacząłem poprzez umożliwienie bazę aspnet z aspnet_regsql użyteczności, to utworzyć te tabele:
To wszystko znalazłem w poradniku, nie pokazują, jak współdziałać z tymi tabelami (które zakładam jest z domyślnego dostawcy członkostwa), do tej pory znalazłem istnieją 3 główne opcje w ten sposób:
- dostawca członkostwa domyślna (z których nic nie wiem)
- uniwersalne Dostawcy
- SimpleMembership
znalazłem ten samouczek:
http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-7
Tutaj proszą, aby utworzyć nowy MVC 4 projekt aplikacji z szablonu aplikacji internetowej i skopiować wszystkie pliki odnoszeniu kontrola konta.
Zrobiłem to dla mojego projektu, ale jak tylko próbuję zalogować się uzyskać:
Aby wywołać tej metody, „Membership.Provider” własność musi być instancją „ExtendedMembershipProvider”.
które zgodnie z tym forum: http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/d352bb1b-577c-42b7-8872-5ed59cd65f32/
z powodu jak to określono profil, członków i roleManager dostawcy na moim pliku web.config, który jest zdefiniowany w następujący sposób:
<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 trzeba mieć możliwość dodawania nowych użytkowników, przypisywania im ról i pokazywania różnych treści zgodnie z rolą uzyskującą dostęp do widoku.
Pytanie # 1 Co jest dostawcą członkostwa wykorzystywane przy tworzeniu aplikacji MVC 4 z szablonu aplikacji www?
Pytanie # 2
Co robię źle z pliku web.config? Jak poprawnie zdefiniować dostawców?
Pytanie # 3
Która opcja odpowiada mi lepiej? Jeśli znasz fajny samouczek, możesz go do niego linkować?
Każda pomoc będzie naprawdę doceniona! z góry dziękuję!
Czy patrzysz na proste członkostwo ASP.NET? Oto dobry punkt wyjścia: 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
Właśnie zauważyłem, że moja klasa kontrolerów ma [InitializeSimpleMembership], która wyraźnie stwierdza, że używam simplememhiphip. Na łączu, który mi wysyłasz, pokazują, jak działa sieć. Plik konfiguracyjny definiuje dostawców, właśnie dodałem te do mojego pliku web.config i jak tylko zaloguję się i nadal otrzymuję to samo o wywołanie tej metody, właściwość "Membership.Provider" musi być instancją "ExtendedMembershipProvider". Co ja robię źle? – oskar132
Czy próbowałeś rozpocząć "czysty" z prostym członkostwem? Ten wątek może pomóc: http://stackoverflow.com/questions/13324544/how-to-add-asp-net-membership-provider-in-a-pusty-mcv-4-project-template – Floremin