Ole*_* Sh -1 asp.net-mvc simplemembership asp.net-mvc-5
以下代码不起作用:
if (ModelState.IsValid)
{
var user = await UserManager.FindAsync(model.UserName, model.Password);
if (user != null)
{
await SignInAsync(user, model.RememberMe);
return RedirectToLocal(returnUrl);
}
else
{
ModelState.AddModelError("", "Invalid username or password.");
}
}
Run Code Online (Sandbox Code Playgroud)
用户为空。模型有正确的值。
我将此代码更改为:
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
Run Code Online (Sandbox Code Playgroud)
它工作正常。为什么以及如何修复?
UserManager.FindAsync 是对 ASP.NET Identity 方法的方法调用。WebSecurity.Login 是一个 SimpleMembership 方法。ASP.NET Identity 与 SimpleMembership 不兼容。如果您将 Asp.net 身份与实体框架一起使用,它会期望您的数据库中的表与您在 SimpleMembership 中使用的表不同。
有关ASP.NET Identity 的更多信息,请参见http://www.asp.net/identity。
| 归档时间: |
|
| 查看次数: |
5175 次 |
| 最近记录: |