Sto cercando di familiarizzare con il nuovo sistema di Membership introdotto in ASP.NET MVC 5 e mi sono imbattuto in un piccolo problema che sono abbastanza sicuro che sarà in grado di aiutarmi.MVC5 ApplicationUser Proprietà personalizzate
Vado in base al largo this tutorial e hanno introdotto le proprietà personalizzate per ApplicationUser quali nome, cognome, data di nascita, ecc
Tuttavia, invece di creare l'utente, che sto cercando di aggiornare attualmente connesso in uno. Sto guardando il metodo del controller che è attualmente utilizzato per cambiare la password.
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);
}
In che modo esattamente procedere all'aggiornamento di un Cognome di ApplicationUser, ad esempio? Devo chiamare il DbContext o?
Spero che la mia domanda sia chiara.
+1 È possibile utilizzare CancellationToken.None da System.Threading anziché creare una BTW. – Stimul8d
cose fantastiche ragazzi! Grazie – teh0wner