【问题标题】:Delayed email confirmation in MVC 4MVC 4 中的延迟电子邮件确认
【发布时间】:2013-09-19 01:26:26
【问题描述】:

我正在使用内置的电子邮件确认机制:

WebSecurity.CreateUserAndAccount(username, password, requireConfirmationToken: true);  

登录时:

WebSecurity.Login(username, password);  

如果用户尚未确认他的电子邮件,该方法将失败。 我想更改此行为,以便 WebSecurity.Login() 将通过,并且我将控制登录过程何时失败(例如,大约 x 天)。

有没有办法加入这个过程?
(如果我仍然可以使用 WebScurity 而不是恢复到较低级别的 API,那就太好了。

【问题讨论】:

    标签: asp.net-mvc security asp.net-mvc-4 email-validation


    【解决方案1】:

    查看此http://www.asp.net/single-page-application/overview/templates/backbonejs-template,它具有您正在寻找的完整用户注册流程。

    【讨论】:

      【解决方案2】:

      没有预定义的流程,您必须自己定义。 (WebSecurity 永远不会自己发送电子邮件。)

      最简单的选项是像您的示例一样传递requireConfirmationToken: true 并存储返回的值(确认令牌)以供以后使用。当您认为合适时(在 x 天后或通过电子邮件链接或您想要的任何内容后)使用存储的令牌致电 WebSecurity.ConfirmAccount。从那时起,Login 将起作用。

      【讨论】:

      • 但问题是我希望 WebSecurity.Login() 通过,即使用户尚未确认他的电子邮件。
      • 然后只需在创建帐户后立即传递requireConfirmationToken: false 或调用WebSecurity.ConfirmAccount
      猜你喜欢
      • 2016-08-06
      • 2018-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2016-08-10
      • 2015-08-09
      • 1970-01-01
      相关资源
      最近更新 更多