asp.net-mvc-5 – 为什么我不能以种子用户身份登录?
发布时间:2020-12-16 06:50:04 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个新的ASP.NET MVC项目,使用存储在数据库中的个人帐户进行身份验证.这是我的类,每次测试时都会使用示例数据为数据库播种: public class DevelopmentInitializer : DropCreateDatabaseAlwaysApplicationDbContext{ protected override void Seed
我正在开发一个新的ASP.NET MVC项目,使用存储在数据库中的个人帐户进行身份验证.这是我的类,每次测试时都会使用示例数据为数据库播种:
public class DevelopmentInitializer : DropCreateDatabaseAlways<ApplicationDbContext> { protected override void Seed(ApplicationDbContext context) { base.Seed(context); var applicationUserManager = new ApplicationUserManager(new UserStore<ApplicationUser>(context)); var sampleUserOne = new ApplicationUser { UserName = "SampleUser",Email = "sample@example.com" }; var result = applicationUserManager.Create(sampleUserOne,"aaaaaa"); if (!result.Succeeded) throw new Exception(); context.SaveChanges(); } } Login操作与模板中的操作相同: // // POST: /Account/Login [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task<ActionResult> Login(LoginViewModel model,string returnUrl) { if (ModelState.IsValid) { var user = await UserManager.FindAsync(model.Email,model.Password); if (user != null) { await SignInAsync(user,model.RememberMe); return RedirectToLocal(returnUrl); } else { ModelState.AddModelError("","Invalid username or password."); } } // If we got this far,something failed,redisplay form return View(model); } 问题的描述非常简单:尝试使用种子用户的凭据登录失败. 具体来说,FindAsync方法返回null,即使用户存在于数据库中 – FindByEmailAsync确实找到了种子用户. 但是,创建新帐户有效并允许我登录. 为什么我不能以播种用户身份登录,即使我可以注册一个新帐户并使用该帐户登录? 我怀疑它与密码的散列方式有关,但我不知道如何确认. 我播种帐号错了吗?我不应该在Seed方法中创建单独的ApplicationUserManager吗?如果没有,我应该如何获得一个才能调用Create?我试图了解新系统的工作原理,最后锁定我的帐户或用户最终被锁定在已部署的应用程序中. 解决方法
以下代码:
var user = await UserManager.FindAsync(model.Email,model.Password); 期望传递userName,而不是电子邮件地址. 这个简单的改变应该照顾好事情: var user = await UserManager.FindAsync(model.UserName,model.Password); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET OnClientClick =“return false;”不起作用
- asp.net-mvc – ASP.NET MVC 3列表到IEnumerable
- 如何在asp.net表单身份验证中执行滑动和绝对超时
- 从客户端调用asp.net ajax服务器控件的公共函数
- 在ASP.NET中,在.aspx中内联代码的不同方法有哪些?
- asp.net – 如何使ASP CheckBoxList标签与复选框保持在同一
- entity-framework-4 – 在多层体系结构中使用Autofac
- asp.net – 可以为IIS的HTTP压缩添??加axd扩展吗?
- asp.net-web-api – 当启用CORS时,ASP.NET Web API中的异常
- asp.net – 我应该在我的HttpHandler中设置IsReusable为Tru
推荐文章
站长推荐
- asp.net-mvc – 如何测试ASP MVC应用程序以获得基
- asp.net-mvc – 如何在回发后保持dropdownlist选
- asp.net-mvc – 在MVC3或MVC4中检查项目构建
- asp.net-mvc – 为什么Chrome在这两种情况下使用
- asp.net-mvc – ASP.net MVC 3项目文件没有出现在
- 如何为ASP.NET_SessionId cookie设置HttpOnly?
- asp.net core系列 38 WebAPI 返回类型与响应格式
- asp.net – 如何使用linq从datetime列获取Date
- 发布asp.net网站给出“对象引用未设置为对象的实
- asp.net-mvc – Html.ActionLink()是否发布了表单
热点阅读