Истекающая активная ссылка для регистрации в 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 часов.