gpt4 book ai didi

asp.net - 将用户添加到角色 ASP.NET 标识

转载 作者:行者123 更新时间:2023-12-03 08:08:28 24 4
gpt4 key购买 nike

我知道新成员(member)包括一个“简单角色提供者”。

在创建用户时,我找不到与创建用户和分配角色相关的任何帮助。我添加了一个在 上创建表的用户数据库 正确。我看到了 AspNetRoles , AspNetUserRoles , 和 AspNetUsers表。

我想从 AspNetRoles 分配一个角色给 AspNetUsers 中的用户其中编号 角色/用户的名称都将存储在 AspNetUserRoles 中。

当我创建用户时,我被困在何处以及如何执行此操作的编程部分。

我有一个下拉列表来选择角色,但是使用 Entity CF 和新的 ASP.NET Identity 模型我不确定如何从下拉列表和 UserID 中获取 selectedvalue 的 ID 并分配角色。

最佳答案

我在这里找到了很好的答案 Adding Role dynamically in new VS 2013 Identity UserManager

但是如果提供一个示例以便您可以检查它,我将分享一些默认代码。

首先确保您插入了角色。

enter image description here

然后在用户注册方法上对其进行第二次测试。

[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, "Superusers");

await SignInAsync(user, isPersistent: false);
return RedirectToAction("Index", "Home");
}
else
{
AddErrors(result);
}
}

// If we got this far, something failed, redisplay form
return View(model);
}

最后,您必须以某种方式从角色下拉列表中获取“ super 用户”。

关于asp.net - 将用户添加到角色 ASP.NET 标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19689183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com