我在我的项目中使用ASP.NET成员资格,当用户创建时,我通过以下代码手动确认他的电子邮件地址:
string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id.ToString());
await ConfirmEmail(user.Id.ToString(), code);
这样,用户不需要使用发送到他的电子邮件地址的确认链接来验证他的登录,这是项目要求。
现在我想用C#代码恢复这个过程。我想不确认他的电子邮件地址,那我怎么能达到这个要求呢?
答案 0 :(得分:0)
所以,有一个"内置方法",但它没有在您可以访问的UserManager
上公开。
UserManager有一个内部属性Store
,它继承自IUserEmailStore
,当您要求它确认电子邮件地址时,它会使用UserManager使用的方法(ConfirmEmailAsync
来电{{1} })以及当您检查是否确认电子邮件时。
SetEmailConfirmed
方法采用布尔参数IUserEmailStore.SetEmailConfirmed
,因此可以将其设置为confirmed
或true
。