由于支持团队可以为某人创建账户。
如果该情况下,确保了AddedByID
为Nullable
,然后让他们创造一个User
以前Support Team
先认证。
然后,让你的Register Action
看起来像这样;
//
// POST: /Account/Register
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
using (EfDb db = new EfDb())
{
try
{
var userProfile = db.UserProfiles.Local.SingleOrDefault(u => u.UserName == User.Identity.Name)
?? db.UserProfiles.SingleOrDefault(u => u.UserName == User.Identity.Name);
WebSecurity.CreateUserAndAccount(
model.UserName,
model.Password,
new
{
FirstName = model.FirstName,
LastName = model.LastName,
AddedDate = DateTime.UtcNow,
AddedByID = userProfile.UserId
}
);
catch (MembershipCreateUserException e)
{
ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
}
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
为什么你需要这个时候,你已经有'Userid'和'Userprofile'? – Komengem
@KomengeMwandila由于支持团队可以为某人创建帐户。 –
如果管理员正在创建帐户,那么该用户已登录...因此您拥有该帐户,并且可以在创建新帐户时包含该帐户。 – Jasen