此问题与您在Visual Studio Community 2015 RC中打开ASP.NET MVC应用程序时获得的Visual Studio生成的代码有关。
在此生成的代码中,SendCode
上的操作VerifyCode
和AccountController
的目的是什么?
我已经阅读了他们的代码,但需要花费时间来阅读这些代码,并从MSDN中查找这些代码中调用的函数的含义 - 我已经完成了所有这些 - 然后打开他们的视图看看是什么他们这样做,然后寻找他们所谓的地方的参考 - 对于利益而言太过分了。微软在其他地方生成的代码中留下了很多评论。他们本可以留下一些评论来解释这些行为的工作流程,并告诉我们他们应该从哪里(当前)被调用。
混淆的一个重要原因是:这些行为不会被调用或重定向到其他任何地方。
无论如何,我的理解是,他们在那里要求刚刚在网站上注册了他的电子邮件地址的访问者,通过请求向他发送代码来验证他的电子邮件地址。
但是在SendCode
动作的源代码中,代码中的这个下拉列表在View中获得了注册的双因素身份验证提供程序(我只是通过阅读代码看到了它。我无法运行此操作,因为它没有从任何地方调用,我不知道如何使用正确的参数获取它。)
这让我怀疑这与通过电子邮件和/或电话进行双因素身份验证有关。
但是,ManageController.AddPhone
操作和ManagerController.EnableTwoFactorAuthentication
已涵盖电话双因素身份验证,对吗?
似乎需要一位老牧师和一位年轻牧师来了解生成代码中的内容。
有人可以告诉我这两个动作是针对什么的,以及它们(应该是)从哪里调出来的?这两个行动的整个工作流程是什么?
答案 0 :(得分:2)
如果您希望实现注册验证逻辑,我相信这些方法已经到位。例如,用户注册到您的网站,您需要他们在批准他们的注册之前验证他们的信息(通常是电子邮件地址)。
所以流程将是:
我不确定您是否已经看过this post,但它概述了如何使用SendGrid作为您的电子邮件提供商实现类似的功能。
答案 1 :(得分:2)
sendcode和verifycode的目的是为了防止你想利用MFA(多因素身份验证)。因此,在登录后,您将被重定向以发送代码,您决定是通过移动还是电子邮件发送代码,一旦代码发送,您将验证代码以输入您请求完成该过程的代码。