目前我有这段代码
// POST: users/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "id,naam,wachtwoord,email,isadmin")] user user)
{
user.wachtwoord = Crypto.HashPassword(user.wachtwoord);
if (ModelState.IsValid)
{
db.users.Add(user);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(user);
}
现在,如果我使用user.wachtwoord = crypto.hashpassword
,它会中断现在我的问题是在这种情况下是通过httppost方法保存用户密码的正确方法,以及我如何在登录控制器上取消密码?
问候
答案 0 :(得分:1)
如果要实现自定义解决方案,可以是:使用带盐的单向散列算法,并将该值作为用户密码存储在users表中。 你不会" unhashing"登录控制器上的密码,您可以使用salt来散列用户在登录控制器中提供的密码,然后将其与数据库(或保存用户凭据的存储库)中的密码进行比较。
答案 1 :(得分:0)
为什么不考虑ASP.NET身份?你可以在这里开箱即用。