如何使用ASP.NET预生成的数据库创建角色

时间:2017-02-26 19:59:06

标签: asp.net-mvc visual-studio

我正在使用ASP.NET MVC 5.我正在创建一个注册页面来注册一个“专家”,我希望它与用户分开。我在预先生成的AspNetRoles表中看到有一个ID和一个Name列。每次我尝试研究这个时,我都会看到如何为管理员创建一个如何创建角色的页面。我只想在我的数据库中获得该角色,然后能够在使用专家注册页面创建用户时将其分配给用户。我不想要一个可以创建角色的页面,我希望能够在visual studio中直接执行此操作。 谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个。

private ApplicationUserManager _userManager;
public ApplicationUserManager UserManager
{
    get
    {
        return _userManager ?? 
        HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
    }
    private set
    {
        _userManager = value;
    }
}

像这样注册用户。

var user = new ApplicationUser {
    UserName = "John Doe",
    Email = "john.doe@foo.com"
};

// params: username and password
var result = await UserManager.CreateAsync(user, "name_birthday_cheeky");
if (result.Succeeded)
{
    UserManager.AddToRole(user.Id, "expert");

    //code omitted for brevity
}