Korzystanie z ASP.NET Identity w projekcie MVC 5, ale httpcontext User.ProviderName to „AspNetSqlRoleProvider”
Mam projekt MVC 5 wykorzystujący ASP.NET Identity (konto użytkownika indywidualnego). Jako baza danych ORM używam szkieletu Entity 6, a IoC zajmuje się Ninject.
Następuje struktura rozwiązania
Projekt MVC - ma moje kontrolery, widoki i konfigurację ninject. Dla Ninject dostałem Ninject.MVC3 od nuget.Projekt danych --- ma mój DataContext (IdentityDbContext) i mój ApplicationUser (IdentityUser). Usługi My Data i wszystkie repozytoriaGłówny projekt - ma wszystkie moje podmioty i interfejsy[Authorize]
atrybut działa dobrze i muszę się zalogować, aby uzyskać dostęp do akcji z adnotacjami, ale gdy ustawię[Authorize(Roles = "Admin")]
dostaję
Nie można znaleźć procedury składowanej „dbo.aspnet_CheckSchemaVersion”.
Stworzyłem mój na CustomAuthorize attibute, który był w zasadzie kopią Autoryzacji i zauważyłem, że httpcontext wprotected virtual bool AuthorizeCore(HttpContextBase httpContext)
User.ProviderName to „AspNetSqlRoleProvider”.
Dodałem więc Rolemanages do mojego web.config. Spowodowało to
Opis błędu konfiguracji: Wystąpił błąd podczas przetwarzania pliku konfiguracyjnego wymaganego do obsługi tego żądania. Sprawdź szczegółowe informacje o błędach poniżej i odpowiednio zmodyfikuj plik konfiguracyjny.
Komunikat o błędzie analizatora składni: nie można znaleźć domyślnego dostawcy roli.
Błąd źródła:
Linia 53: -> Linia 54: Linia 55: Linia 56: Linia 57:
Plik źródłowy: ... myproject WebUI line.config Line: 55
Więc o co tu chodzi? Jak mogę ustawić domyślnego dostawcę roli do używania tożsamości ASP.NET?