Ich versuche, mit dem neuen Mitgliedschaftssystem in ASP.NET MVC 5 in den Griff zu bekommen, und ich bin auf ein kleines Problem gestoßen, bei dem ich ziemlich sicher bin, dass Sie mir helfen können.MVC5 ApplicationUser benutzerdefinierte Eigenschaften
ich this tutorial basierte weg werde und haben benutzerdefinierte Eigenschaften ApplicationUser wie Name eingeführt, Nachname, Geburtsdatum usw.
Anstatt jedoch den Benutzer zu schaffen, ich versuche, in einer der aktuell angemeldeten zu aktualisieren. Ich betrachte die Controller-Methode, die derzeit verwendet wird, um das Passwort zu ändern.
public async Task<ActionResult> Manage(ManageUserViewModel model)
{
string userId = User.Identity.GetUserId();
bool hasLocalLogin = await IdentityManager.Logins.HasLocalLoginAsync(userId);
ViewBag.HasLocalPassword = hasLocalLogin;
ViewBag.ReturnUrl = Url.Action("Manage");
if (hasLocalLogin)
{
if (ModelState.IsValid)
{
IdentityResult result = await IdentityManager.Passwords.ChangePasswordAsync(User.Identity.GetUserName(), model.OldPassword, model.NewPassword);
if (result.Success)
{
return RedirectToAction("Manage", new { Message = "Your password has been changed." });
}
else
{
AddErrors(result);
}
}
}
else
{
// User does not have a local password so remove any validation errors caused by a missing OldPassword field
ModelState state = ModelState["OldPassword"];
if (state != null)
{
state.Errors.Clear();
}
if (ModelState.IsValid)
{
// Create the local login info and link it to the user
IdentityResult result = await IdentityManager.Logins.AddLocalLoginAsync(userId, User.Identity.GetUserName(), model.NewPassword);
if (result.Success)
{
return RedirectToAction("Manage", new { Message = "Your password has been set." });
}
else
{
AddErrors(result);
}
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
Wie genau würde ich fortfahren, den Nachnamen eines ApplicationUsers zu aktualisieren? Muss ich den DbContext aufrufen oder?
Ich hoffe meine Frage ist klar.
+1 Sie können CancellationToken.None von System.Threading verwenden, anstatt ein BTW zu erstellen. – Stimul8d
Tolle Sachen Jungs! Vielen Dank – teh0wner