Próbuję uzyskać autoryzację działającą na asp.net mvc4, więc próbuję użyć WebSecurity.Nie można znaleźć domyślnego dostawcy roli przy użyciu SimpleMembershipProvider
WebSecurity.InitializeDatabaseConnection("tradefairindia", "Users", "Id", "Username", false);
Wrzuciłem to do Global.asax, i to, gdzie przychodzi błąd, „Default Provider rolę nie można znaleźć”.
W Internecie przeczytałem, że muszę dodać ten wiersz kodu do mojego web.config <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
. Ale dodałem go już z powodu wcześniejszych błędów.
Jak mogę rozwiązać ten problem?
Edit:
Kiedy go zmienić na defaultProvider="SimpleRoleProvider"
daje mi nowy błąd. Mówi
typu lub nazwa przestrzeni nazw „Dane” nie istnieje w przestrzeni nazw „WebMatrix” (czy brakuje odwołania do zestawu?)
Nie zapomnij zaakceptować swoją odpowiedź. To powinno pomóc wielu ludziom. –
Możesz wybrać dowolną nazwę, np. 'DefaultProvider =" MyRoleProvider "', o ile nazwa odpowiada nazwie w sekcji "". Tam określasz, która biblioteka jest faktycznie używana. Tak więc w '' mówisz, że chcesz używać SimpleRoleProvider z biblioteki WebMatrix.WebData i nazywasz to "MyRoleProvider". Jeśli nie ustawisz opcji Kopiuj lokalnie na True WebMatrix.WebData.dll nie zostanie skopiowany do folderu bin podczas kompilacji. Ponieważ domyślnie nie jest częścią GAC, twój zestaw nie może go znaleźć. –
flip