MVC 4 中的延迟电子邮件确认
Posted
技术标签:
【中文标题】MVC 4 中的延迟电子邮件确认【英文标题】:Delayed email confirmation in MVC 4 【发布时间】:2013-09-19 01:26:26 【问题描述】:我正在使用内置的电子邮件确认机制:
WebSecurity.CreateUserAndAccount(username, password, requireConfirmationToken: true);
登录时:
WebSecurity.Login(username, password);
如果用户尚未确认他的电子邮件,该方法将失败。 我想更改此行为,以便 WebSecurity.Login() 将通过,并且我将控制登录过程何时失败(例如,大约 x 天)。
有没有办法加入这个过程? (如果我仍然可以使用 WebScurity 而不是恢复到较低级别的 API,那就太好了。
【问题讨论】:
【参考方案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
。以上是关于MVC 4 中的延迟电子邮件确认的主要内容,如果未能解决你的问题,请参考以下文章
如何在 asp.net core mvc 中配置确认电子邮件令牌的生命周期
MVC 中的 ASP.NET Identity IUserEmailStore 错误
C# MVC 4 应用程序中的电子邮件地址验证:使用或不使用正则表达式 [重复]
从 ASP.NET MVC 5 中的 Facebook v2.4 API 访问 OAuth ExternalLoginCallback 中的电子邮件地址 [重复]