我们正在使用WebSecurity在我们的mvc4站点中进行帐户处理,并希望实现重新激活邮件的重新发送。
由于确认令牌在24小时后到期,我们希望在发送邮件之前生成新令牌。
任何人都知道该怎么做?
WebSecurity.CreateUserAndAccount
仅适用于新帐户。
WebSecurity.GeneratePasswordResetToken
仅适用于已启用的帐户。
答案 0 :(得分: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