Add User to Role ASP.NET Identity

后端 未结 7 687
梦毁少年i
梦毁少年i 2020-12-07 16:47

I know the new Membership includes a \"Simple Role Provider.\"

I can\'t find any help related to creating a user and assigning a role when the user is created. I\'v

7条回答
  •  北海茫月
    2020-12-07 17:12

    I found good answer here Adding Role dynamically in new VS 2013 Identity UserManager

    But in case to provide an example so you can check it I am gonna share some default code.

    First make sure you have Roles inserted.

    enter image description here

    And second test it on user register method.

    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public async Task Register(RegisterViewModel model)
    {
        if (ModelState.IsValid)
        {
            var user = new ApplicationUser() { UserName = model.UserName  };
    
            var result = await UserManager.CreateAsync(user, model.Password);
            if (result.Succeeded)
            {
                var currentUser = UserManager.FindByName(user.UserName); 
    
                var roleresult = UserManager.AddToRole(currentUser.Id, "Superusers");
    
                await SignInAsync(user, isPersistent: false);
                return RedirectToAction("Index", "Home");
            }
            else
            {
                AddErrors(result);
            }
        }
    
        // If we got this far, something failed, redisplay form
        return View(model);
    }
    

    And finally you have to get "Superusers" from the Roles Dropdown List somehow.

提交回复
热议问题