Я разрабатываю веб-сайт с использованием struts2 и hibernate в качестве серверной части. На многих сайтах после регистрации на вашу электронную почту будет отправлена ссылка, и после нажатия на нее регистрация будет завершена. Я хочу, чтобы эта функция была на моем веб-сайте, но я понятия не имею, как это сделать и как это работает? мне нужен пример, чтобы сделать это....
Как подтвердить электронную почту при регистрации?
Ответы (4)
Я никогда не возился со стойками, но в основном вы могли бы отправить электронное письмо со ссылкой, которая ведет на определенную страницу. Когда пользователь регистрируется на вашем веб-сайте, вы можете сохранить, среди прочего, адрес электронной почты пользователя, отметку времени регистрации, а также ключ (например, хэш электронной почты и пароль).
Затем вы создаете ссылку и включаете адрес электронной почты и ключ в строку запроса. После того, как пользователь щелкнет ссылку, на вашей странице вы сделаете проверку, чтобы убедиться, что пользователь все еще находится в течение некоторого периода времени (необязательно) и что указанное электронное письмо соответствует данному ключу (который вы сохранили в базе данных).
Если электронная почта и ключ совпадают, то активируйте учетную запись.
Это широкий вопрос, но я отвечаю на основе проверки
1. Вам нужна страница регистрации с примером формы /signup.jsp
2. После основных полей и проверки электронной почты, сгенерируйте код xyzcode для этого электронного письма,
3. отправьте электронное письмо на адрес электронной почты пользователя, используя почтовый сервер, со ссылкой на страницу проверки ссылки, например /validate.jsp?code=xyzcode. (настройка почтового сервера и отправка электронной почты выходит за рамки ответа)
4. На validate.jsp проверьте code и подтвердите любое электронное письмо с помощью этого кода, в противном случае выведите соответствующее сообщение об ошибке.
Есть несколько подходов, но я предлагаю тот, который будет простым и стандартным.
In user table
add extra column as Status
[которое может принимать два значения: неактивное или активное]
create one more table(emailauthentication) where columns will be (key,emaiId)..
Теперь, что вам нужно сделать, это после того, как пользователь нажмет «Отправить» с регистрационными данными... сгенерировать динамический ключ.. может быть метка времени + адрес электронной почты (или что-то динамическое и уникальное) и создать запись в пользовательской таблице со статусом неактивным и создать запись в аутентификации по электронной почте. таблица с этим сгенерированным ключом и emaiId.. теперь, после создания записи, сгенерируйте URL-адрес, который может быть похож на
<a href="doAuthenticationForUser?authenticationId='dynamicKey'"/>Click to authenticate</a>
Теперь, когда пользователь щелкает этот URL-адрес, затем в классе действий или службе для этого идентификатора аутентификации найдите идентификатор электронной почты и сделайте статус столбца активным.
Это правда, что ответ на вопрос довольно большой.
Я знал одну ссылку, по которой есть лучший ответ, данный BalusC
Вот ссылка:лучший ответ.
Я реализовал в своем проекте. Я надеюсь, что эта ссылка поможет другим.
Спасибо за чтение.