Истекающая активная ссылка для регистрации в asp.net

Когда пользователь регистрируется на моем сайте, ему отправляется ссылка для регистрации. То, что я хочу, это истечь эту ссылку через 48 часов. Есть ли способ сделать это? Огромное спасибо. вот мои коды: на странице активации:

 string userID = Request.QueryString["userID"];
   Guid gd = new Guid(userID);
   Membership.UpdateUser(user);

На странице активации:

 MembershipUser user = Membership.CreateUser(TextBox_email.Text, TextBox_Pass.Text, TextBox_email.Text);

                   Roles.AddUserToRole(TextBox_email.Text, "Author");
                   user.IsApproved = false;
                   Membership.UpdateUser(user);

                   //  StringBuilder bodyMsg = new StringBuilder();

                   Guid userID = (Guid)user.ProviderUserKey;

1 ответ

Решение

Я думаю, это все о специальных параметрах строки запроса / маршрута в вашей ссылке активации

Вы можете, например:

  • сохранить идентификатор ссылки и дату ее выдачи в хранилище данных / базе данных. Затем убедитесь, что пользовательская ссылка не старше 48 часов, когда пользователь заходит на ваш сайт с ее помощью.
  • сохраните временную метку в самой ссылке (без необходимости в db), а также хеш-код временной метки, соединенной с вашим секретным ключом. Когда пользователь приходит со ссылкой, убедитесь, что хэш-код и отметка времени совпадают, а затем убедитесь, что отметка времени не старше 48 часов.
Другие вопросы по тегам