Как хранить пользователей с уникальной электронной почтой в удостоверении

#asp.net-core #asp.net-core-mvc #identity

#asp.net-ядро #asp.net-core-mvc #идентификация

Вопрос:

Я хочу заставить Identity сохранять только пользователей с уникальной электронной почтой, в противном случае не разрешать ей регистрироваться, а затем восстанавливать исключение или ошибку, когда я повторяю ошибки результата CreateAsync метода. Итак, как мне это сделать?

Ответ №1:

Значение по умолчанию для RequireUniqueEmail равно false. Вы можете перезаписать его с помощью true, чтобы обеспечить уникальность электронной почты.

 services.Configure<IdentityOptions>(options =>
{
    //add this option to identity configuration
    options.User.RequireUniqueEmail = true;

});
  

Комментарии:

1. Нужно ли мне добавлять миграцию или что-то еще? Я попробовал ваш код и не сработал, возможно, потому, что у меня уже есть 2 пользователя с одинаковым адресом электронной почты.

2. Я не совсем уверен в миграции. Это то, что у меня есть в моем проекте для обеспечения уникальной электронной почты. Можете ли вы попробовать удалить дублирующихся пользователей электронной почты и попробовать добавить их обратно?

3. Миграция не требуется, я просто удалил дублирующихся пользователей электронной почты, и затем это сработало.