2012-08-29 13 views
9

Chcę mieć możliwość korzystania z tej samej bazy danych dla aplikacji, co szczegóły członkostwa asp dla uwierzytelniania formularzy. Obecnie używam MVC4. Kiedy zacząłem i dodałem system.web.providers do mojego projektu, otrzymałem oddzielne połączenie domyślne. Zmodyfikowałem ciąg znaków tak, aby wskazywała tę samą bazę danych, która jest używana w mojej aplikacji (entityframework).MVC4 ExtendedMembershipProvider i entityframework

należy spodziewać dostawców do Autocreate tabele w tej bazie danych tj

  • webpages_Membership
  • UserProfile
  • webpages_Roles
  • webpages_OAuthMembership

Obecnie jestem coraz ...

Aby wywołać tej metody, „Membership.Provider” własność musi być instancję „ExtendedMembershipProvider”

gdy próbuję i zarejestrować nowego użytkownika za pomocą szablonu domyślnej aplikacji mvc4. A tabele są nieobecne.

pozdrowienia Tim

Odpowiedz

12

Problem polega na tym, że domyślny szablon internetowy mvc4 używa pakietu simplememhiphip do zarządzania informacjami o członkostwie/rolach. kod w szablonie jest tego założeniem i może działać tylko z uproszczoną wersją. podczas instalowania dostawców uniwersalnych kod kontrolera konta rozmywa się, ponieważ nie może zrozumieć dostawców uniwersalnych. spójrz na ten post, który wyjaśnia dalej w tym scenariuszu 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

+0

Pozdrawiam pranav, zauważyłem, że dostawcy uniwersalni wydali i usunęli to. Rozwiązałem ten problem, teraz jednak muszę rozwiązać dwa ciągi połączeń w moim webconfig, mam jedno dla połączenia struktury encji i inne, które jest normalnym (nie ciągiem znaków połączenia EF), ale wskazujące na tę samą bazę danych dla stron WWW_tabele (tabele prostego dostępu) – Tim

+0

+1 Dzięki za link. Próbowałem zrozumieć, co było innego z tabelami członkowskimi MVC4 i co się zmieniło. "WSAT jest zbudowany do pracy z członkostwem ASP.NET i nie jest kompatybilny z Simple Membership." z artykułu i innych informacji pomogły to wyjaśnić. – Aligned

+1

@Tim, ponieważ EF 4.1 (jeśli się nie pomylisz) możesz użyć klas POCO i wyprowadzić 'DbContext'. Jeśli używasz 'DbContext (" connStringName ")' constructor i 'WebSecurity.InitializeDatabaseConnection (" connStringName "...)' zdecydowanie używasz jednego ciągu połączenia. – CallMeLaNN

2

Mam ten sam problem,

jednak kopalnia nie zostanie rozwiązany, ale wiele osób mówi dodać to do pliku web.config

<add key="enableSimpleMembership" value="false"/> 
<add key="autoFormsAuthentication" value="false"/> 

a jeśli to robi Pracujcie, starajcie się również, aby szczyt był prawdziwy.

Powiązane problemy