Использование 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?

Ответы на вопрос(1)

Ваш ответ на вопрос