3

我们在我们的 mvc4 站点中使用 WebSecurity 进行帐户处理,并希望实现激活邮件的重新发送。

由于确认令牌在 24 小时后过期,我们希望在发送邮件之前生成一个新令牌。

有谁知道该怎么做?

WebSecurity.CreateUserAndAccount仅适用于新帐户。 WebSecurity.GeneratePasswordResetToken仅适用于已激活的帐户。

4

1 回答 1

6

生成的确认令牌WebSecurity.CreateUserAndAccount不会在 24 小时后过期,您可以通过以下代码获取它:

using(var db = new YourDbContext())
{
    string query = "select ConfirmationToken from webpages_Membership where UserId = (select UserId from UserProfile where Email = '{0}')"

    string token = db.Database.SqlQuery<string>(query, userEmail).FirstOrDefault();
}

您可以使查询成为内部联接以获得更好的性能

我认为你不应该使用WebSecurity.GeneratePasswordResetToken

于 2013-09-13T11:09:15.253 回答