Удостоверение пользователя проверяется всякий раз, когда оно обновляется , а не только при его создании. Это делается для того, чтобы пользователь всегда оставался действительным.
Это, очевидно, означает, что ваш валидатор должен также проверять существующих пользователей. Логика, которая проверяет совпадения комбинаций, которые включают самого текущего пользователя, явно не очень хорошая идея.
Лучше проверить, чтобы убедиться, что нет пользователя с такой же комбинацией , который не является тем же пользователем .
bool combinationExists = await manager.Users.AnyAsync(x => x.Id != user.Id && …);
Обратите внимание, что имя пользователя и адрес электронной почты обычно уникальны в ASP.NET Core Identity. Поэтому пользователи не могут иметь двух разных пользователей с одинаковыми именем пользователя и адресом электронной почты.
Если вы хотите, чтобы ваша мультитенантность основывалась на том факте, что вы можете зарегистрироваться с одним именем пользователя или адресом электронной почты для нескольких арендаторов, но иметь отдельную личность, то это не будет работать с настройками по умолчанию.