默认的ASP.NETCore3.1Identity几乎将电子邮件和用户名混合在一起。我在登录和注册页面中通过将它们生成到我的项目中并手动修改来将它们分离。但是更改电子邮件将用户名设置为新电子邮件。我能用一些全球标志来纠正这种奇怪的行为吗?如果没有,我需要手动生成和修改哪些页面才能获得正确的结果?
您所描述的行为没有内置在ASP.NET核心标识中,而是内置在默认标识UI中,该标识是提供用于管理标识的默认页面的页面集。身份系统本身在这里是完全透明的,并且总是分别处理用户名和电子邮件地址。
然而,这也意味着,您无法神奇地更改某些"标识"设置来正确拆分。相反,您将不得不为此编辑UI。除非我遗漏了什么,否则默认Identity UI的以下页面会设置用户名和电子邮件地址:
Register.cshtml
:当用户注册时ExternalLogin.cshtml
:当用户通过外部提供者注册时ConfirmEmailChange.cshtml
:当用户通过传递更改令牌来确认电子邮件更改时