如何使用 OWIN 向 ASP.NET 中新创建的用户添加角色
How to add roles to newly created users in ASP.NET using OWIN
如何将所有新注册用户默认设置为 "users" 角色?
这是我注册新用户的代码:
[HttpPost]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var roleStore = new RoleStore<IdentityRole>();
var roleManager = new RoleManager<IdentityRole>(roleStore);
var userStore = new UserStore<IdentityUser>();
var userManager = new UserManager<IdentityUser>(userStore);
var user = await userManager.FindAsync(model.Username, model.Password);
if (user != null)
{
ModelState.AddModelError(string.Empty, "The user already exists.");
return View();
}
user = new IdentityUser { UserName = model.Username,Email = model.Email, };
await userManager.CreateAsync(user, model.Password);
return RedirectToAction("Index","Home");
}
await userManager.CreateAsync(user, model.Password);
if (!roleManager.RoleExists("User"))
roleManager.Create(new IdentityRole("User"));
userManager.AddToRole(adminUser.Id, "User");
如果出于任何原因 ID
未更新,请使用此:
await userManager.CreateAsync(user, model.Password);
if (!roleManager.RoleExists("User"))
roleManager.Create(new IdentityRole("User"));
userManager.AddToRole(userManager.FindByName(user.UserName).Id,"User");
如何将所有新注册用户默认设置为 "users" 角色?
这是我注册新用户的代码:
[HttpPost]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
var roleStore = new RoleStore<IdentityRole>();
var roleManager = new RoleManager<IdentityRole>(roleStore);
var userStore = new UserStore<IdentityUser>();
var userManager = new UserManager<IdentityUser>(userStore);
var user = await userManager.FindAsync(model.Username, model.Password);
if (user != null)
{
ModelState.AddModelError(string.Empty, "The user already exists.");
return View();
}
user = new IdentityUser { UserName = model.Username,Email = model.Email, };
await userManager.CreateAsync(user, model.Password);
return RedirectToAction("Index","Home");
}
await userManager.CreateAsync(user, model.Password);
if (!roleManager.RoleExists("User"))
roleManager.Create(new IdentityRole("User"));
userManager.AddToRole(adminUser.Id, "User");
如果出于任何原因 ID
未更新,请使用此:
await userManager.CreateAsync(user, model.Password);
if (!roleManager.RoleExists("User"))
roleManager.Create(new IdentityRole("User"));
userManager.AddToRole(userManager.FindByName(user.UserName).Id,"User");