C# 如何在ASP.NET标识中创建默认密码
我是asp.net编程的初学者。我有mysql集成的身份在ASP.NET与这个强大的 问题是: 使用此功能创建员工数据后,如何创建默认密码(例如:默认密码): 控制器:C# 如何在ASP.NET标识中创建默认密码,c#,mysql,asp.net,asp.net-mvc,C#,Mysql,Asp.net,Asp.net Mvc,我是asp.net编程的初学者。我有mysql集成的身份在ASP.NET与这个强大的 问题是: 使用此功能创建员工数据后,如何创建默认密码(例如:默认密码): 控制器: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create(dbemployee dbemployee) { if (ModelState.IsValid) {
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(dbemployee dbemployee)
{
if (ModelState.IsValid)
{
db.dbemployees.Add(dbemployee);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.iDept = new SelectList(db.dbtodepts, "iDept", "sDept", dbemployee.iDept);
ViewBag.iSmokers = new SelectList(db.dbtoflagies, "iFlag", "sFlag", dbemployee.iSmokers);
ViewBag.iEmpGender = new SelectList(db.dbtogenders, "iGender", "sGender", dbemployee.iEmpGender);
ViewBag.iGrade = new SelectList(db.dbtogrades, "iGrade", "sGrade", dbemployee.iGrade);
ViewBag.iJob = new SelectList(db.dbtojobs, "iJob", "sJobName", dbemployee.iJob);
ViewBag.iEmpLastEdu = new SelectList(db.dbtolasteducations, "iLastEdu", "sLastEdu", dbemployee.iEmpLastEdu);
ViewBag.iEmpMaritalStat = new SelectList(db.dbtomaritalstats, "iMaritalStat", "sMaritalStat", dbemployee.iEmpMaritalStat);
ViewBag.iEmpReligion = new SelectList(db.dbtoreligions, "iReligion", "sReligion", dbemployee.iEmpReligion);
return View(dbemployee);
}
当然,这个函数是由scaffolding自动生成的,我的设想是应该添加如下代码:
RegisterViewModel reg = new RegisterViewModel();
reg.Password.Insert("default").GetHashCode.ToString();
正如我们所知,上面的代码是完全错误的。。
对不起我的英语水平,但我希望有人能理解我的情况。谢谢……) ASP.NET Identity不包括默认的密码创建方法,因为它依赖于密码重置链接,这是一种更安全的处理密码的方法。你在你的应用程序中考虑过这种方法吗?本周(或者上周)有一个重复的问题-如何生成密码(不是默认密码,只是要求被黑客攻击)。快速而肮脏的答案是使用旧成员资格提供程序的GeneratePassword功能。必须搜索重复项才能找到如何对IdentityCheck问题(而不是已接受的答案)执行此操作。标识不生成密码,它发送重置链接。它甚至比以明文形式发送随机生成的密码更安全。您可以使用与MVC模板中的
Reset
页面相同的功能生成一次性重置令牌并将其发送给新用户,强制他们选择新密码。这是更好的,因为a)令牌不能重复使用,b)它过期了,减少了注释@PanagiotisKanavos的意外泄露风险。。。但是你能给我一些关于你第二次评论的参考链接吗。我对你的逻辑感兴趣。你必须考虑用户,而用户只是懒惰。这听起来很糟糕,但却是真的。如果您给他们一个默认密码,他们将使用该密码。然后,您的所有用户(或至少大多数用户)都使用相同的密码,这是不好的。如果您生成一个密码并通过电子邮件发送给他们,这会更好,但他们仍然不会更改密码。那只是他们的密码。但是,如果像Identity一样,您只生成重置,用户在单击电子邮件中的链接后将被迫选择新密码。这使你的应用程序更加安全。与Panagiotis Kanavos类似,但你让我觉得我的问题有多糟糕D谢谢@ChrisPratt。。