Невозможно назначить роли пользователям - PullRequest
0 голосов
/ 17 ноября 2018

Я делаю приложение ASP.NET MVC5 с индивидуальной аутентификацией пользователя.Я могу создавать пользователей, и я добавил роли, вручную перейдя в dbo.AspNetRoles и напечатав их. Я хочу добавить пользователя в dbo.AspNetUserRoles (в котором столбцы UserId и RolesId указаны в качестве столбцов) программным способом.Я пытаюсь работать с как можно меньшим количеством пользовательских классов и, как это возможно, просто изменяя материал по умолчанию.Я не знаю, как назначать роли пользователям.

1 Ответ

0 голосов
/ 17 ноября 2018

пожалуйста, прочитайте эту статью полностью: https://code.msdn.microsoft.com/ASPNET-MVC-5-Security-And-44cbdb97

Добавление ролей программно (добавьте этот метод в файл startup.cs):

 private void createRolesandUsers()   
    {   
        ApplicationDbContext context = new ApplicationDbContext();   

        var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));   
        var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));   


        // In Startup iam creating first Admin Role and creating a default Admin User    
        if (!roleManager.RoleExists("Admin"))   
        {   

            // first we create Admin rool   
            var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();   
            role.Name = "Admin";   
            roleManager.Create(role);   

            //Here we create a Admin super user who will maintain the website                  

            var user = new ApplicationUser();   
            user.UserName = "shanu";   
            user.Email = "syedshanumcain@gmail.com";   

            string userPWD = "A@Z200711";   

            var chkUser = UserManager.Create(user, userPWD);   

            //Add default User to Role Admin   
            if (chkUser.Succeeded)   
            {   
                var result1 = UserManager.AddToRole(user.Id, "Admin");   

            }   
        }   

        // creating Creating Manager role    
        if (!roleManager.RoleExists("Manager"))   
        {   
            var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();   
            role.Name = "Manager";   
            roleManager.Create(role);   

        }   

        // creating Creating Employee role    
        if (!roleManager.RoleExists("Employee"))   
        {   
            var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();   
            role.Name = "Employee";   
            roleManager.Create(role);   

        }   
    } 

определение роли пользователя после регистрации:

  await this.UserManager.AddToRoleAsync(user.Id, model.UserRoles);   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...