由於支持團隊可以爲某人創建賬戶。
如果該情況下,確保了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