c# - 当用户名不是电子邮件地址时,两因素身份验证不向电子邮件发送代码
问题描述
我通过电子邮件使用 Owin 身份 2.0 使用两因素身份验证,我在发送电子邮件时遇到问题,因为我的 ApplicationUser 模型具有 UserName 和 Email 属性。如果 UserName 不是电子邮件地址,则代码不会发送到电子邮件地址,但如果 UserName 是电子邮件地址,则其工作正常。任何可能的解决方案将不胜感激。
if (!ModelState.IsValid)
{
return BadRequest();
}
try
{
if (await SignInManager.SendTwoFactorCodeAsync(model.SelectedProvider))
{
Logger.Info("Email sent to " + model.UserName);
return new { Sent = true };
}
Logger.Info("Email not sent to " + model.UserName);
}
catch (Exception e)
{ Logger.Error(e.Message); }
return new { Sent = false };
解决方案
您说,您有一个 UserName 属性和一个 Email 属性。为什么不直接使用电子邮件地址而不是用户名作为收件人?
推荐阅读
- sql-server - Azure SQL Server - 仅英文消息
- php - 这个来自 PHP 的 JSON 对象的 JS 等效项是什么?
- php - 如何使用 ajax 将按钮值发送到 PHP 后端(POST)
- php - 按照一定的规则对数组进行排序
- javascript - 如何使用ajax从php文件中获取返回文本?
- devexpress - ¿ 如何处理 ASPxGridView Devexpress 服务器端的 OnRowClick 事件?
- rest - PUT Web API 中的模型属性绑定不起作用 - ASP.NET Core 3.1
- sql-server - 升级后如何解决 Acumatica SQL 错误
- reactjs - 切换到 React Hooks 会影响我的应用程序包的大小吗?
- python - 如何获取带有版本号的预安装 Python 包列表?