此问题与您在 Visual Studio Community 2015 RC 中打开 ASP.NET MVC 应用程序时获得的 Visual Studio 生成的代码有关。

在这个生成的代码中,SendCode 上的 VerifyCodeAccountController Action 的目的是什么?

我已经阅读了他们的代码,但是阅读这些代码并从 MSDN 中查找这些代码中调用的函数的含义需要花费时间——所有这些都是我已经完成的——然后打开他们的 View 看看他们做了什么,然后寻找他们被调用的地方的引用 - 对好处来说太多了。微软在这个生成的代码中在别处留下了很多评论。他们本可以留下一些评论来解释这些操作的工作流程,并告诉我们它们打算(以及当前)从哪里调用。

造成混淆的一大原因是:这些操作不会从其他任何地方调用或重定向。

无论如何,我的理解是,他们在那里询问刚刚在网站上注册的访问者的电子邮件地址,通过要求向他发送代码来验证他的电子邮件地址。

但是然后在 SendCode 操作的源代码中,代码中有这个下拉列表,可以在 View 中获取已注册的双因素身份验证提供程序(我只是通过阅读代码看到的。我一直无法运行这个 Action 是因为它不是从任何地方调用的,我不知道如何使用正确的参数来实现它)。

这让我怀疑这与通过电子邮件和/或电话进行的两因素身份验证有关。

但是 ManageController.AddPhone 操作和 ManagerController.EnableTwoFactorAuthentication 中已经涵盖了通过电话进行的两因素身份验证,对吗?

似乎需要一位老牧师和一位年轻牧师来了解生成的代码中的内容。

有人可以告诉我这两个 Action 的用途以及它们(应该)从哪里调用?这两个操作的整个工作流程是什么?

最佳答案

如果您希望实现注册验证逻辑,我相信这些方法已经到位。例如,用户注册您的网站,您要求他们在批准注册之前验证他们的信息(通常是电子邮件地址)。

所以流程是:

  • 用户注册
  • 系统创建用户但尚未激活账户
  • 系统使用验证链接向用户电子邮件发送电子邮件 (AccountController.SendCode())
  • 用户打开电子邮件
  • 用户点击验证链接,导航到您网站上的验证页面
  • 页面验证用户信息 (AccountController.CheckCode())
  • 如果验证成功,账户被激活
  • 如果验证不成功,则显示错误信息

  • 我不确定您是否已经看过 this post,但它概述了如何使用 SendGrid 作为电子邮件提供商来实现类似的功能。

    关于asp.net-mvc - AccountController.SendCode 和 VerifyCode 的作用是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31937640/

    10-16 23:59