Asp.net core 标识3.1-更改电子邮件时,用户名会发生更改,这可以避免吗?

Asp.net core 标识3.1-更改电子邮件时,用户名会发生更改,这可以避免吗?,asp.net-core,asp.net-identity,Asp.net Core,Asp.net Identity,默认的ASP.NETCore3.1身份将电子邮件和用户名混合在一起。我在登录和注册页面中将它们分离,方法是将它们生成到我的项目中并手动修改它们。但是更改电子邮件会将用户名设置为新电子邮件。我可以使用一些全局标志来修复这种奇怪的行为吗?如果没有,我需要手动生成和修改哪些页面以使其正确?您描述的行为不是内置在ASP.NET核心标识中,而是内置在默认标识UI中,即提供用于管理标识的默认页面集。在这里,标识系统本身是完全透明的,并且始终分别处理用户名和电子邮件地址 但是,这也意味着您无法神奇地更改某些标

默认的ASP.NETCore3.1身份将电子邮件和用户名混合在一起。我在登录和注册页面中将它们分离,方法是将它们生成到我的项目中并手动修改它们。但是更改电子邮件会将用户名设置为新电子邮件。我可以使用一些全局标志来修复这种奇怪的行为吗?如果没有,我需要手动生成和修改哪些页面以使其正确?

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

但是,这也意味着您无法神奇地更改某些标识设置以正确地将其拆分。相反,您必须为此编辑UI。除非我遗漏了什么,否则默认标识UI的以下页面将同时设置用户名和电子邮件地址:

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