2010-06-18 5 views
1

Я использую встроенные функции входа в систему и функции управления ASP.NET. Есть ли способ определить, зарегистрировано ли имя пользователя или адрес электронной почты? Я бы подумал, что это часть FormsAuthentication или аналогичная, но не может найти такую ​​функцию.Проверьте, зарегистрировано ли имя пользователя

ответ

3

Проверьте, возвращает ли Membership.GetUser method нулевое значение или нет.

Если вы хотите создать нового пользователя, и вы выполняете эту проверку как часть этого процесса, попробуйте позвонить Membership.CreateUser method и проверьте MembershipCreateStatus, чтобы получить причину сбоя, если он не работает.

1

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

+0

Это жизнеспособный вариант только в процессе регистрации. Тем не менее, вы можете проверить доступность имени пользователя с вызовом AJAX до фактической отправки формы. –

+0

@Mehrdad - вещь, которую нужно сделать, по-прежнему создает пользователя в вызове ajax. –

+0

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

Смежные вопросы