Из вашего вопроса я не могу определить, если вы используете одни и те же рамки (MVC & EF).
Недавно я создал решение MVC + EF с использованием пользовательских приложений-приложений & IdentityRoles. ApplicationUser происходит от "Microsoft.AspNet.Identity.EntityFramework.IdentityUser". ApplicationRoles реализованы без изменений.
У меня есть следующий класс:
// Configure the used in the application. RoleManager is defined in the ASP.NET Identity core assembly
public class ApplicationRoleManager : RoleManager<IdentityRole>
{
public ApplicationRoleManager(IRoleStore<IdentityRole, string> roleStore)
: base(roleStore)
{
}
public static ApplicationRoleManager Create(IdentityFactoryOptions<ApplicationRoleManager> options, IOwinContext context)
{
return new ApplicationRoleManager(new RoleStore<IdentityRole>(context.Get<ApplicationDbContext>()));
}
}
в configuration.cs (миграции) ==> на 'обновление-базы данных' это будет выполнена
var roleStore = new RoleStore<IdentityRole>(context);
var roleManager = new RoleManager<IdentityRole>(roleStore);
var applicationRoleAdministrator = new IdentityRole("Administrator");
if (!roleManager.RoleExists(applicationRoleAdministrator.Name))
{
roleManager.Create(applicationRoleAdministrator);
}
// do some logic to find your applicationUserAdministrator
var applicationUserAdministrator = userManager.FindByName("Administrator");
userManager.AddToRole(applicationUserAdministrator.Id, applicationRoleAdministrator.Name);
жгутов startup.auth.cs увязка к RoleManager:
app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);
точно такой же вопрос, который я имею, если я использую '[Авторизовать (Roles =«Admin»)]' я получаю следующее сообщение об ошибке: 'Флаг Логин экземпляра пользователя не поддерживается в данной версии SQL Server , Соединение будет закрыто' – Zapnologica