【问题标题】:How I can revert email confirmation in ASP.NET membership如何在 ASP.NET 成员资格中恢复电子邮件确认
【发布时间】:2017-11-11 10:41:23
【问题描述】:

我在我的项目中使用 ASP.NET 成员资格,当用户创建时,我通过以下代码手动确认他的电子邮件地址:

string code = await  UserManager.GenerateEmailConfirmationTokenAsync(user.Id.ToString());
await ConfirmEmail(user.Id.ToString(), code);

这样,用户不需要通过发送到他的电子邮件地址的确认链接来验证他的登录,顺便说一句,这是项目要求。

现在我想通过 C# 代码恢复这个过程。我想未经确认他的电子邮件地址,那么我该如何实现这个要求?

【问题讨论】:

  • 确认用户后,数据发生了哪些实际变化?似乎您只需要更新数据即可再次修改该值。
  • 如果可用,我想使用内置的 aspnet 成员方法

标签: c# asp.net asp.net-membership


【解决方案1】:

所以,有一个“内置方法”,但它没有暴露在您可以访问的UserManager 上。

UserManager 有一个内部属性 Store,它继承自 IUserEmailStore,它具有当您要求 UserManager 确认电子邮件地址(ConfirmEmailAsync 调用 IUserEmailStore.SetEmailConfirmed)以及检查时使用的方法查看电子邮件是否已确认。

SetEmailConfirmed 方法采用布尔参数confirmed,因此可以将其设置为truefalse

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2016-08-06
    • 2018-04-18
    • 2011-03-09
    相关资源
    最近更新 更多