Я успешно создал нового пользователя с этим кодом:
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);