2015-04-27 5 views
0

Мне нужно создать роль «admin» для первого пользователя в базе данных. Это мой код:Создать роль для первого пользователя в MVC 5

Есть ли лучший способ проверить роль и создать его для первого пользователя, если роль не существует?

+0

Это делается как часть Код Первая миграция, или это называется в другом месте? Некоторый дополнительный контекст поможет. –

+0

Это часть первой миграции кода. Просто шаблонная часть проекта MVC 5. А потом миграция. – Alexander

ответ

0

Попробуйте поместить этот материал в свою конфигурацию (метод семян).

protected override void Seed(Models.ApplicationDbContext context) 
{ 
    ParameterSeeder.Seed(context); 
    RoleSeeder.Seed(context); 
    UserSeeder.SeedAdmin(context); 
    CategorySeeder.SeedMain(context); 
    CategorySeeder.SeedChild(context); 
    ProductUnitSeeder.Seed(context); 
    ProductSeeder.Seed(context); 
    ... 
} 

Внутри относительно сеялок вы можете указать детали:

internal static class RoleSeeder 
{ 
    internal static void Seed(ApplicationDbContext context) 
    { 
     var idManager = new IdentityManager(); 

     // Create roles 
     var roleAdmin = new AllesVersRole {Description = "Administrator", Name = "Admin"}; 
     var roleClient = new AllesVersRole {Description = "Clienten", Name = "Client"}; 

     // Seed 
     AddRole(idManager, roleAdmin); 
     AddRole(idManager, roleClient); 

     context.SaveChanges(); 
    } 

    private static void AddRole(IdentityManager idManager, AllesVersRole role) 
    { 
     if (!idManager.RoleExists(role.Name)) 
      idManager.CreateRole(role.Name, role.Description); 
    } 
} 

Я могу только посоветует таким образом, как это просто и легко настроить

Смежные вопросы