在 asp.net 身份中添加用户角色?
Add role of a user in asp.net identity?
我想将 AspNetRoles 中的角色分配给 AspNetUsers 中的用户,role/user 的 ID 都将存储在 AspNetUserRoles 中。
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser() { UserName = model.UserName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
var currentUser = UserManager.FindByName(user.UserName);
var roleresult = UserManager.AddToRole(currentUser.Id, "//Employee or Admin");
}
我有一个下拉菜单,SuperAdmin 将从中 select 用户的角色,可以是管理员或员工。所以我想获得下拉 selected 项的值。我怎样才能做到这一点?
谢谢
如果您想要一些 Select
/下拉菜单和可用角色并创建具有某些 selected 角色的用户。您必须为 RegisterViewModel class property: SelectedRole
创建 Select
/dropdown 元素,并且能够 select 可用角色列表中的一个元素。
如何使用您可以找到的 there 角色填充 DropDownList
。
已修改注册视图模型以传输 SelectedRole
值:
public class RegisterViewModel
{
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[Display(Name = "Role")]
public string SelectedRole { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
然后在注册期间,您必须使用视图模型中的 selected 角色并将您创建的用户添加到该角色。
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
var currentUser = UserManager.FindByName(user.UserName);
var roleresult = UserManager.AddToRole(currentUser.Id, model. SelectedRole);
...
}
我想将 AspNetRoles 中的角色分配给 AspNetUsers 中的用户,role/user 的 ID 都将存储在 AspNetUserRoles 中。
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser() { UserName = model.UserName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
var currentUser = UserManager.FindByName(user.UserName);
var roleresult = UserManager.AddToRole(currentUser.Id, "//Employee or Admin");
}
我有一个下拉菜单,SuperAdmin 将从中 select 用户的角色,可以是管理员或员工。所以我想获得下拉 selected 项的值。我怎样才能做到这一点? 谢谢
如果您想要一些 Select
/下拉菜单和可用角色并创建具有某些 selected 角色的用户。您必须为 RegisterViewModel class property: SelectedRole
创建 Select
/dropdown 元素,并且能够 select 可用角色列表中的一个元素。
如何使用您可以找到的 there 角色填充 DropDownList
。
已修改注册视图模型以传输 SelectedRole
值:
public class RegisterViewModel
{
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[Display(Name = "Role")]
public string SelectedRole { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
然后在注册期间,您必须使用视图模型中的 selected 角色并将您创建的用户添加到该角色。
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
var currentUser = UserManager.FindByName(user.UserName);
var roleresult = UserManager.AddToRole(currentUser.Id, model. SelectedRole);
...
}