gpt4 book ai didi

c# - 发送电子邮件验证链接以激活配置文件 c#

转载 作者:行者123 更新时间:2023-11-30 19:28:31 25 4
gpt4 key购买 nike

我目前正在建立一个网站,人们可以在该网站上注册,他们可以拥有自己的内容页面。我创建了一个自定义登录页面,而不是使用 Microsoft Visual Studio 2010 上提供的创建用户向导。我在后端有一个 SQL 数据库,带有

tblUsers

将保存用户注册的位置。我配置了我的电子邮件 smtp 设置,并且能够使用注册人的电子邮件发送电子邮件。我已经测试过这个并且它有效。

问题

(1) 我对如何生成要随电子邮件发送的激活链接感到困惑。

(2) 如何编写代码来更新与用户相关的 SQL 表中的字段

e.g: User verified = true

当用户点击通过电子邮件发送的链接时。

(3) 如何阻止用户在未通过验证过程的情况下无法登录网站? (我知道这可以通过更改“创建用户”向导中的一些内容轻松完成,但是我习惯上创建了我的注册,因此它在注册按钮单击事件上运行)因此我似乎无法理解如何做它。

如果可能请帮帮我将不胜感激。

最佳答案

我建议有一个名为“ActivationToken”之类的字段并生成一个 GUID。您可以通过调用 newid() 函数直接在 SQL 中执行此操作,或者在 C# 中通过调用 Guid.NewGuid() 执行此操作。这是一个非常独特/随机的值,几乎不可能被暴力破解。

所以当用户注册时,你会做这样的事情:

insert into tblUsers (Username, Password, Active, ActivationToken) values ('johndoe', 'mypassword', 0, newid())

链接如下:http://yoururl.com/Activate.aspx?token= {yourActivationGuid}

Update tblUsers set Active=1 where ActivationToken={yourActivationGuid}

如果您的 UserID 已经是一个 GUID,您可能可以只使用它(例如,如果您正在使用 aspnet_user 表)。至于不允许登录,只要检查Active标志是否设置为true即可。如果不是,则禁止登录。

所以为了验证登录你可以这样做:

select * from tblUsers where Username="johndoe" and Password="mypassword" and Active=1

关于c# - 发送电子邮件验证链接以激活配置文件 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15181361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com