Предотвращение дублирования записей входа - PullRequest
0 голосов
/ 25 августа 2011

У нас есть большой набор пользователей, которые используют наше веб-приложение довольно редко (т.е. они не посещают каждый день или каждую неделю).В результате они часто:

  • забывают пароль, который они использовали
  • забывают, какое электронное письмо они использовали при регистрации ИЛИ
  • , возможно, действительно имели свой электронный адрес.изменение адреса электронной почты с момента последнего входа в систему

Часто, сталкиваясь с формой входа в систему, они просто создают новую запись для входа с новым / другим адресом электронной почты.

Это проблема, потому что важно, чтобы они оставались связанными со своими предыдущими записями, и это может вызвать проблемы, если в базе данных есть дублирующиеся записи для одного человека (обратите внимание, что это не дублирующиеся записи в смысле базы данных; с точки зрения данных они вовсе не дубликаты, но они дубликаты в том смысле, что они указывают на одного реального человека).

Прямо сейчас у меня есть проверка, которая проверяет, есть лиуже кто-то с фамилией и первым инициалом, и просит их подтвердить, являются ли они или нет одним из этих других людей.Очевидно, что это очень неуклюже и не сработает при работе с очень распространенными именами.Кроме того, сбивает с толку отображение страницы пользователю, который говорит: «Я думаю, что вы на самом деле этот другой человек. Пожалуйста, дайте мне знать, если вы этот человек или нет».

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

1 Ответ

0 голосов
/ 25 августа 2011

Вы можете легко запретить пользователям регистрироваться, если они введут повторяющееся имя пользователя или адрес электронной почты из того, что уже существует в вашей базе данных. Вы можете предоставить пользователю страницу, которая попросит его восстановить пароль для существующей учетной записи. Если пользователь собирается зарегистрироваться с другим именем пользователя и адресом электронной почты, я бы поспорил, что в этот момент вы не сможете остановить создание пользователем другой учетной записи (если вы не собираете какой-либо уникальный идентификатор из пользователь (например, номер социального страхования и т. д.). Я бы не стал выполнять фильтрацию по имени, поскольку он никогда не будет работать 100% времени.

В противном случае, возможно, простое изменение пользовательского интерфейса также может помочь решить проблему (например, «Возвращение пользователя? Логин»). Убедитесь, что пользователь видит, что он может войти в систему со своей существующей учетной записью, и на этом экране убедитесь, что пользователь может легко увидеть, что он может восстановить информацию своей учетной записи, если он не может ее запомнить.

...