5

我正在开发一个网站,当他/她注册时,我需要向用户的电子邮件帐户发送确认链接。

当用户单击此链接userEnable时,数据库中的字段从“false”更改为“true”。

当用户单击注册按钮时,如何向用户发送确认电子邮件。

当用户单击此确认链接时,该字段将如何UserEnable“假”变为“真”

我使用 asp.net 4.0 和 VB.NET 作为我的数据库的语言和 SQL Server 2008。

4

5 回答 5

4

首先,您应该在数据库中创建表用户,其列类似于Active = false数据库(1 位数据库字段类型)。然后,在用户创建他的帐户后,您应该向他发送一个包含用户激活指南的查询字符串的激活链接。就像是:

请在 www.mysite.com?id=21EC2020-3AEA-1069-A2DD-08002B30309D 激活您的帐户

在确认页面,您将检查此查询,例如

var id = Response.QueryString["id"]
if (id!= null) userBL.ActivateUser(id);

ActivateUser() 方法会将字段更新为 true,并发送电子邮件确认。

于 2011-03-20T08:48:48.417 回答
1

nemke 发布的答案很好,但我的做法略有不同,我觉得它更安全一些,并且可以防止未来的变化。当我在数据库中创建每个用户记录时,我会在每个用户记录中创建两个额外的字段以进行确认。

每个用户的以下字段:

userID: getUniqueUserID()
confirmed: false,
confirmCode: getRandomUUID()

与每条记录的confirmCode唯一性分开保存,userID并且仅在将电子邮件发送到注册时使用的地址时才应使用。然后我发送如下 URL:

http://example.com/activate?id=43d24b9ca73&c=16b4cf80-c59a-11e2-8b8b-0800200c9a66

然后,您可以获取查询字段服务器端并使用id顺序查找基于唯一的特定用户记录userID,确保该c字段在记录中匹配confirmCode,然后将该confirmed字段设置为 true 并将特定用户的记录保存在数据库。

于 2013-05-26T00:27:09.997 回答
0

用户

身份证 | 用户名 | 电子邮件 | 用户启用

发送电子邮件检查这个

当您收到确认链接时,您会根据电子邮件字段进行查找,并将其对应的 UserEnabled 设置为 true。

于 2011-03-20T07:57:43.393 回答
0

如果您使用的是 ASP.NET 内置成员控制,则可以使用

CreateUserWizard 控件的MailDefinition属性

MailDefinition 属性返回对一组属性的引用,这些属性组用于定义发送给新用户的电子邮件的格式和内容。常见设置包括主题行和发件人的回信地址。

于 2011-03-20T08:18:37.843 回答
0

.NET 4 框架

观看此视频,了解如何操作。

http://www.asp.net/security/videos/implement-the-registration-verification-pattern

于 2011-06-13T15:38:00.663 回答