我使用以下代码成功创建了一个新用户:
protected void btnRegister_Click(object sender, EventArgs e)
{
// Default UserStore constructor uses the default connection string named: DefaultConnection
var userStore = new UserStore<IdentityUser>();
var manager = new UserManager<IdentityUser>(userStore);
var user = new IdentityUser() { UserName = txtbxUserName.Text };
IdentityResult result = manager.Create(user, txtbxPassword.Text);
if (result.Succeeded)
{
var authenticationManager = HttpContext.Current.GetOwinContext().Authentication;
var userIdentity =
manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
authenticationManager.SignIn(new AuthenticationProperties() { }, userIdentity);
Response.Redirect("~/MoneyFly");
}
else
{
litStatusMessage.Text = result.Errors.FirstOrDefault();
}
}
该代码在创建用户后立即创建了本地数据库。
我想创建角色并将其添加到用户。
我看到了下面这样的帖子。
https://forums.asp.net/t/2093837.aspx?How+to+implement+Roles+in+ASP+NET+Identity+2+1+in+Webforms
我努力复制代码中所做的事情。
那部分是因为它包括一个我没有的自动生成的类。
ApplicationDbContext context = new ApplicationDbContext();
我如何生成该dbContext。在框架的使用中,这似乎至关重要。例如,这行代码使用它来创建 RoleStore 的实例。
var roleStore = new RoleStore<IdentityRole>(context);
相关分类