Я использую ASP.NET MVC с платформой Entity Framework, и я пытаюсь выяснить, как получить работу менеджера ролей. После того, как я сначала зарегистрировал пользователя, инициировав EF для создания таблиц управления/идентификации пользователя, я переместил их (AspNetUsers, AspNetRoles, AspNetUserRoles, AspNetUserClaims и AspNetUserLogins) в мою существующую базу данных и установил соединение по умолчанию, чтобы указать туда , Все было прекрасно, и денди, пока я не решил, что необходимо для реализации диспетчера ролей и после добавления следующей записи в мой web.config,Получение диспетчера ролей для работы с существующей базой данных
<roleManager enabled="true" defaultProvider="RoleManager">
<providers>
<add name="RoleManager"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="DefaultConnection"
applicationName="MyApp" />
</providers>
</roleManager>
и пытаюсь создать роль (Roles.CreateRole("Admin")
[Боковой вопрос, есть ли способ сделать это за пределами кода в VS 2013?]), я столкнулся с ошибкой: Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'
. Поэтому я, естественно, предположил, что таблицы не были единственными объектами базы данных, которые были сгенерированы, но после проверки оригинального mdf получается, что действительно, это все, что было. На данный момент я нахожусь в полной потере, и любая помощь будет очень признательна.
Обновление: Я искал решения, связанные с использованием инструмента aspnet_reqsql для добавления функций Role Manager, но таблицы, которые это порождают, кажутся несовместимыми. Например, dbo.aspnet_Users вместо dbo.AspNetUsers.
Ваши предположения верны! Чтобы правильно работать с идентификационной информацией, вам нужно удалить разделы вашего 'web.config', которые относятся к старым MembershipProvider. – trailmax
@Drazen - спасибо. Я собирался сжечь дом из разочарования !!!!! – noelicus
@noelicus Приветствия! Это, конечно, голова. –