如何从 ASP.NET MVC 5(身份)中的另一个(管理员角色)帐户创建新用户帐户

How to create new user accounts from another (admin role) account in ASP.NET MVC 5 (Identity)

我有 ASP.NET MVC 5 应用程序(首先是数据库),具有 Identity 2 提供的标准用户配置文件管理。

有一个 管理员帐户角色,我需要创建另一个用户帐户的管理 (CRUD) 功能(设置名称、电子邮件、密码、角色和其他一些参数 来自另一个(管理员)用户帐户,具有管理员角色)通过网络界面。

如何从另一个帐户(管理员角色)创建新用户帐户?

您可以使用内置的 UserManager 以编程方式创建用户并将他们添加到特定角色。

例如:

var user = new ApplicationUser {
    UserName = "new_user",
    Email = "user@gmail.com"
};
string password = "secret";

using (var db = new ApplicationDbContext())
{
    var store = new UserStore<ApplicationUser>(db);
    var manager = new UserManager<ApplicationUser, string>(store);

    var result = manager.Create(user, password);
    if (!result.Succeeded)
        throw new ApplicationException("Unable to create a user.");

    result = manager.AddToRole(user.Id, "Administrator");
    if (!result.Succeeded)
        throw new ApplicationException("Unable to add user to a role.");
}