我是ASP的新手.NET身份验证框架,我正在try 做一些我以前在旧的FormsAuthentication框架中做的事情.

我想做的是允许管理用户使用应用程序中的现有注册视图(或类似视图)创建新用户.完成后,我想将该用户(可能使用生成的ID)关联到系统的其他区域.

如何访问调用UserManager时生成的ID.CreateAsync()?

编辑:我希望具有"管理"角色的现有用户在用户管理区域中从系统中创建用户.到目前为止,下面的答案已经解释了如何获得"当前"用户的ID,这不是我要找的.

推荐答案

使用IdentityUser或使用从IdentityUser继承的类使模型具有UserId属性.使用以下代码,将用户传递给方法,将填充ID.

var user = model.GetUser();
var result = await UserManager.CreateAsync(user, model.Password);

if (result.Succeeded)
    result = UserManager.AddToRole(user.Id, "User");

model.GetUser()返回ApplicationUserIdentityUser的对象

public ApplicationUser GetUser()
{
    var user = new ApplicationUser
    {
        UserName = UserName,
        FirstName = FirstName,
        LastName = LastName,
        Email = Email,
        ...
    };

    return user;
}

Asp.net相关问答推荐

在这个 For 循环计数没有增加

捕获对 ASP.NET ASMX Web 服务的 SOAP 请求

带有 Web 套接字的 SignalR

返回 HttpResponseMessage 时的 WebAPI Gzip

如何在集线器类之外获取 SignalR 用户连接 ID?

.NET 核心 IdentityUser 模型中规范化邮箱和用户名的用途是什么?

Gridview ItemTemplate 中多个判断字段的最佳技术?

如何配置 ASP.NET Core 1.0 以使用本地 IIS 而不是 IIS Express?

显示单选按钮列表内联

VirtualPath 在当前应用程序根目录之外

如何获取 ActionLink 的工具提示?

如何配置 ELMAH 以使用 Windows Azure?我在 Elmah.axd 上得到 404

如何针对异常需求自定义 ASP.NET Web API AuthorizeAttribute

在 Android/Java 和 C# 中计算 SHA256 哈希

带有模型的 ASP.NET MVC 重定向

将字典绑定到中继器

在 ASP.NET 标识中添加角色

RegisterStartupScript 不适用于 ScriptManager、Updatepanel.这是为什么?

SignalR 2.0 错误:无法加载文件或程序集 Microsoft.Owin.Security

在 ASP.NET 中使用 SecureString 有什么好处吗?