1

我目前正在开展一个项目,人们可以在该项目中注册并登录到他们自己的内容页面。我使用了自定义注册方法(不是默认创建用户向导)。我能够将电子邮件发送到注册人的电子邮件。但是,我现在想添加一个指向该电子邮件的链接,人们必须单击它才能验证他们的个人资料。我听说您可以使用 GUID 和令牌来执行此操作,但我不知道如何继续执行此操作,因此我需要帮助。我将我的用户详细信息存储在

> tblUsers with fields ID, Name, Password, Details, Photo as well as a **Verify**我认为可以用作验证的字段?现在它是空的,没有被使用。

我使用 Microsoft Visual Studio 环境提供的默认登录控件创建了我的登录控件。

如果有人可以帮助我并指导我完成这件事,我将不胜感激,经过 2 天的不断研究和尝试,我被困在这一部分而无法进一步取得进展

4

3 回答 3

2

那么更好的选择是对 UserID 进行加密。因为这不仅可以节省数据库中额外列的添加,还可以轻松处理。现在的问题是你将如何做到这一点。

试试这个.. 做一个简单的加密逻辑(你可以谷歌这个和几行代码)

创建该超链接时,附加该加密的 UserId 。当用户单击时,将其发送到服务器,解密并使用用户 ID 进行验证。这将帮助您根据用户 ID 管理用户,我希望这在您的情况下是独一无二的。

Guid 只是另一种选择,为什么不使用您已经唯一的用户 ID :)

于 2013-03-03T19:33:06.017 回答
1

我认为您可以在用户注册时生成 guid 并存储在用户表中。您也可以在要添加到电子邮件的链接的查询中发送它。用户单击链接后,您可能会要求用户登录,并且您将验证查询中的 guid 是否与您存储在用户表中的相同。如果有,您可以将用户的状态更改为“已验证”。

于 2013-03-03T18:34:35.503 回答
1

您的问题需要很多步骤,但至少要让您开始。

  1. 用户将注册
  2. 您需要查询电子邮件地址不存在。
  3. 如果它不存在,您需要将该信息存储到您的数据库中。
  4. 使用您必须存储信息的逻辑,您需要执行以下操作:

    Guid userGuid = Guid.NewGuid();

    string body = "To confirm 'http://www.somesite.com/verify/aspx?userGuid=" + userGuid + "Verify your account";

    string GuidToTest = Request["userGuid"];

类似的东西应该适应,你必须创建一个结构和路径来处理你的域逻辑和数据访问的所有这些。

希望这会有所帮助。

于 2013-03-03T18:37:49.540 回答