как использовать GUID для проверки электронной почты пользователя в ASP.NET С#

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

> tblUsers with fields ID, Name, Password, Details, Photo as well as a **Verify** поле, которое, как мне кажется, можно использовать для проверки? пока он пуст и не используется.

Я создал свой элемент управления входом в систему, используя элемент управления входом по умолчанию, предоставляемый средой Microsoft Visual Studio.

Был бы очень признателен, если бы кто-то мог помочь мне и провести меня через это, после 2 дней постоянных исследований и попыток я застрял в этой части, не имея возможности двигаться дальше.


person Suits999    schedule 03.03.2013    source источник
comment
Извините, ни один из этих ответов на самом деле не помог найти ответ на мою проблему, однако теперь я нашел ответ на этот вопрос, все равно связавшись с одним из моих друзей. Спасибо всем.   -  person Suits999    schedule 11.03.2013
comment
Не могли бы вы опубликовать решение, которое вы нашли? Это может быть полезно и другим   -  person Jatin Bhatia    schedule 26.09.2018


Ответы (3)


Что ж, лучшим вариантом было бы шифрование UserID. так как это не только сохранит добавление дополнительного столбца в базу данных, но и упростит обработку. Теперь вопрос в том, как вы будете это делать.

Попробуйте это .. Сделайте простую логику шифрования (вы можете погуглить это и всего несколько строк кода)

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

Guid — это просто еще один вариант, почему бы не использовать свой UserID, который уже уникален :)

person Singleton    schedule 03.03.2013
comment
Это кажется интересным подходом, но я не могу найти какие-либо примеры, которые были бы достаточно простыми, чтобы заставить меня решить это, был бы очень признателен, если бы вы могли сообщить мне любые ресурсы, которые я мог бы использовать в следовании этому виду метод? - person Suits999; 06.03.2013

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

person diogod    schedule 03.03.2013

Ваш вопрос требует довольно много шагов, но, по крайней мере, начать вас.

  1. Пользователь зарегистрируется
  2. Вам нужно будет запросить адрес электронной почты не существует.
  3. Если он не существует, вы захотите сохранить эту информацию в своей базе данных.
  4. С логикой, которую вы должны хранить информацию, вы захотите сделать что-то вроде этого:

    Guid userGuid = Guid.NewGuid();

    string body = "To confirm 'http://www.somesite.com/verify/aspx?userGuid=" + userGuid + "Verify your account";

    string GuidToTest = Request["userGuid"];

Что-то подобное должно подойти, вам нужно будет создать структуру и путь, чтобы справиться со всем этим с вашей логикой домена и доступом к данным.

Надеюсь, это поможет.

person Greg    schedule 03.03.2013