身份3.1-更改电子邮件时,用户名也会更改,可以避免吗?

问题描述

认的 ASP .NET Core 3.1身份将电子邮件用户名混合在一起。通过将它们生成到我的项目中并手动修改它们,在 Login Registration 页面中将它们分开。但是更改电子邮件会将用户名设置为新电子邮件。我可以使用一些全局标志来修复这种奇怪的行为吗?如果没有,我需要手动生成修改哪些页面才能正确处理?

解决方法

您描述的行为不是内置于ASP.NET Core身份中,而是内置于默认身份 UI 中,默认身份UI是一组页面,这些页面提供了用于管理身份的默认页面。身份系统本身在这里是完全透明的,并且始终分别处理用户名和电子邮件地址。

但是,这也意味着您无法神奇地更改某些“身份”设置来正确拆分此设置。相反,您将必须为此编辑UI。除非我缺少任何内容,否则默认身份UI的以下页面会同时设置用户名和电子邮件地址:

  • Register.cshtml:用户注册时。
  • ExternalLogin.cshtml:当用户通过外部提供商注册时。
  • ConfirmEmailChange.cshtml:当用户通过传递更改令牌确认电子邮件更改时。