使用MVC 5和Asp.net Identity进行电子邮件确认

33

我一直在搜索,但没有找到如何使用新的ASP.net Identity 和MVC 5实现电子邮件确认的文档。对于这个主题似乎没有任何文档(至少我没有找到)。

有人解决了这个问题吗?我非常惊讶默认的MVC 5项目中没有包含它。

非常感谢您的帮助。

谢谢!


3
虽然我不能百分之百确定,但我相信这将需要手动实施。 - Mike Perrenoud
1
是的,如果我的问题不够清晰,我想知道如何在ASP.net Identity中实现它。 - John
1
你提到你很惊讶它没有被包含在内。我只是确认你必须手动完成这件事的事实。我并没有提供解决方案 - 如果我有,我会回答这个问题。 - Mike Perrenoud
3
我认为你可以使用@Paul Zahra的答案以及这篇博客http://kevin-junghans.blogspot.in/2013/10/customizing-aspnet-identity-in-mvc-5.html来得到你需要的内容。这篇博客展示了如何在MVC5应用程序中自定义ASP.NET Identity中的用户配置文件。Kevin还表示他将尝试在他下一篇文章中发表有关电子邮件确认的内容,但我认为你可以通过将此文章与Paul的答案联系起来找到解决方案。 - hridya pv
2
@hridyapv,Kevin现在已经发布了这篇文章用于电子邮件确认,它非常有效。http://kevin-junghans.blogspot.in/2013/10/adding-email-confirmation-to-aspnet.html - Josh McKearin
显示剩余2条评论
3个回答

18
我已经写了一篇如何在使用ASP.NET Identity时添加电子邮件确认的逐步文章。您可以在项目文件夹AspNetIdentity\AspNetIdentityRefApp获取源代码。我还创建了一个服务层,封装了ASP.NET Identity,使其更容易在新的MVC 5应用程序中使用,并模仿了SimpleMembership使用的WebSecurity API。您可以从AspNetIdentity\SimpleSecurity.AspNetIdentity获取该类库。还有一个参考应用程序,用于在AspNetIdentity\SimpleSecurity.AspNetIdentity.RefApp中使用此库。类库和参考应用程序还展示了如何使用令牌实现密码重置以及在Web API上进行基本身份验证。

嗨,我没有看到任何文档说明新的ASP.NET身份验证中的UserManager.GenerateEmailConfirmationTokenAsync是否会自动将生成的代码插入到用户表中?创建令牌后我是否需要单独保存令牌?我已经尝试过了,但是它没有保存。我正在尝试检查它是否为默认行为或我的代码中的某些内容。 - Rohith Nair

3

2
Nuget现在已经有官方版本发布了:https://www.nuget.org/packages/Microsoft.AspNet.Identity.Core/2.0.0 - Miro J.

0

我在2016年5月在MVC网站中安装了身份框架2,并包括电子邮件确认,尽管最初被注释掉了。以下是在帐户控制器中要查找的内容:

enter image description here

因此,当用户注册时,您可以取消注释代码以向他们发送电子邮件。如果您对MVC模型有很好的理解,其余部分应该相对简单。


5
但实际上,这并没有起到任何作用。它仍然会让用户登录,并允许他们在不确认电子邮件的情况下进行登录。 - maembe
为了防止实际登录,请参考以下答案:https://dev59.com/5pnga4cB1Zd3GeqPSQAg#38423392 - Chris Owens
你在哪里设置了发件人的电子邮件、密码、服务器和端口?你在哪里实现了电子邮件服务?没有任何解释。 - Sracanis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接