Использование ASP.NET Identity в проекте MVC 5, но httpcontext User.ProviderName - это «AspNetSqlRoleProvider»
У меня есть проект MVC 5 с использованием ASP.NET Identity (учетная запись отдельного пользователя). В качестве базы данных ORM я использую Entity Framework 6, а IoC заботится Ninject.
Структура решения следующая
Проект MVC - имеет мои контроллеры, просмотры и настройки. Для Ninject я получил Ninject.MVC3 от Nuget.Проект данных --- содержит мой DataContext (IdentityDbContext) и мой ApplicationUser (IdentityUser). Мои данные сервисы и все репозиторииОсновной проект - имеет все мои сущности и интерфейсы[Authorize]
Атрибут работает нормально, и я должен войти в систему, чтобы получить доступ к аннотированному действию, но когда я установил[Authorize(Roles = "Admin")]
я получил
Не удалось найти хранимую процедуру 'dbo.aspnet_CheckSchemaVersion'.
Я создал свой на CustomAuthorize attibute, который был в основном копией Authorize, и заметил, что httpcontext вprotected virtual bool AuthorizeCore(HttpContextBase httpContext)
User.ProviderName - это «AspNetSqlRoleProvider».
Поэтому я добавил «Роли» в свой web.config. Это привело к
Ошибка конфигурации Описание: во время обработки файла конфигурации, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.
Сообщение об ошибке синтаксического анализатора: поставщик роли по умолчанию не найден.
Ошибка источника:
Строка 53: -> Строка 54: Строка 55: Строка 56: Строка 57:
Исходный файл: ... myproject \ WebUI \ web.config Строка: 55
Так в чем здесь дело? Как настроить поставщика ролей по умолчанию для использования удостоверения ASP.NET?