【问题标题】:how to use a GUID to verify user email in ASP.NET C#如何使用 GUID 在 ASP.NET C# 中验证用户电子邮件
【发布时间】:2013-02-17 18:57:16
【问题描述】:

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

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

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

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

【问题讨论】:

  • 抱歉,这些答案实际上都没有帮助我找到问题的答案,但是我现在在联系我的一位朋友后找到了答案,谢谢大家
  • 您能发布您找到的解决方案吗?它也可以对其他人有所帮助

标签: c# asp.net visual-studio-2010 guid email-verification


【解决方案1】:

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

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

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

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

【讨论】:

  • 这似乎是一个有趣的方法,但我似乎找不到任何足够简单的例子来让我解决这个问题,如果你能告诉我任何资源我将不胜感激可以用在遵循这种方法吗?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    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"];

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

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-09-04
      • 2019-08-29
      • 1970-01-01
      • 2013-10-25
      • 2013-08-17
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 2020-08-02
      相关资源
      最近更新 更多