System.Web.Security を使用します。
MVC4 で resetPassword フォームを作成しています。
using System.Web.Security;
[HttpPost]
[AllowAnonymous]
public ActionResult ResetPassword(ResetPasswordModel model)
{
MembershipUser u = Membership.GetUser(model.Username);
if (HashResetParams(u.UserName, u.ProviderUserKey.ToString()) == model.Key)
{
string resetCode = u.ResetPassword();
u.ChangePassword(resetCode, model.Password);
}
return View("ChangePasswordSuccess");
}
行にヒットしたときに「ResetPassword-指定されたメソッドはサポートされていません」というエラーが表示される理由:
string resetCode = u.ResetPassword();
SimpleMembership 実装を使用するようにデフォルト設定されている MVC4 プロジェクトと関係があるのだろうか。
また、ASP.NET メンバーシップでパスワードをリセットする方法についてさまざまなアプローチを見てきましたが、おそらくもっと良い方法がありますか?