1

ユーザーが私のウェブサイトに登録すると、登録リンクが彼に送信されます。私が望むのは、このリンクを 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;
4

1 に答える 1

2

これはすべて、アクティベーションリンクの特別なクエリ文字列/ルートパラメーターに関するものだと思います

たとえば、次のことができます。

  • リンク識別子とそれが発行された日付をデータストア/データベースに保存します。次に、ユーザーがサイトにアクセスしたときに、ユーザー リンクが 48 時間以内であることを確認します。
  • リンク自体にタイムスタンプを保存します(データベースは必要ありません)、タイムスタンプのハッシュコードをあなたの秘密鍵に連結します。ユーザーがリンクを持ってきたら、ハッシュコードとタイムスタンプが一致することを確認し、タイムスタンプが 48 時間以内であることを確認します
于 2013-02-05T10:06:33.973 に答える