2

我的应用程序正在执行电子邮件验证,向用户发送电子邮件。当用户单击链接时,将调用以下操作:

[AllowAnonymous]
    public ActionResult RegisterConfirmation(string Id) //Id=ConfirmationToken
    {
        if (WebSecurity.ConfirmAccount(Id))
        {
            //get userId and perfom some operations related to it
            return RedirectToAction("ConfirmationSuccess");
        }
        return RedirectToAction("ConfirmationFailure");
    }

我的问题是:

如何使用 ConfirmationToken 获取 userId?

我正在使用SimpleMembershipProvider并且可以访问我的数据库上下文。

4

1 回答 1

3

该信息位于 pages_Membership 表中,您可以使用 SimpleMembership 的上下文通过使用context.Database.SqlQuery直接查询该信息。

select UserId from webpages_Membership where ConfirmationToken = {0}

话虽如此,我不建议在确认完成后使用它来自动登录此人,如果这是您的意图。正如本文评论中所讨论的那样,这样做可能会导致一些安全问题。

于 2013-06-06T18:04:55.650 回答