在Asp.Net Identity 2中进行密码验证可以使用以下代码示例:
var userManager = new UserManager(new UserStore(new ApplicationDbContext()));
var user = await userManager.FindByNameAsync(username);
var result = await userManager.CheckPasswordAsync(user, password);
if (result)
{
// 密码验证成功
}
else
{
// 密码验证失败
}
完整示例代码:
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using System.Threading.Tasks;
public class AccountController : Controller
{
[HttpPost]
public async Task Login(string username, string password)
{
var userManager = new UserManager(new UserStore(new ApplicationDbContext()));
var user = await userManager.FindByNameAsync(username);
if (user != null)
{
var result = await userManager.CheckPasswordAsync(user, password);
if (result)
{
// 密码验证成功
return RedirectToAction("Index", "Home");
}
}
// 密码验证失败
ViewBag.Error = "Invalid username or password";
return View();
}
}
请确保已经添加了正确的引用和命名空间,以便使用Asp.Net Identity相关的类和方法。