我是ASP.NET身份框架的新手,我正在尝试做一些我以前在FormsAuthentication框架中做的事情.
我想做的是允许管理用户使用应用程序内的现有注册视图(或类似的)创建新用户.一旦完成,我想将该用户(可能使用生成的ID)关联到系统的其他区域.
如何访问调用UserManager.CreateAsync()时生成的ID?
编辑:我希望具有“管理”角色的现有用户在用户管理区域内的系统内创建用户.迄今为止的答案已经解释了如何获取“当前”用户的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()返回ApplicationUser或IdentityUser的对象
public ApplicationUser GetUser() { var user = new ApplicationUser { UserName = UserName,FirstName = FirstName,LastName = LastName,Email = Email,... }; return user; }