Asp.net 表单身份验证-如何验证非活动用户的用户名和pwd?

Asp.net 表单身份验证-如何验证非活动用户的用户名和pwd?,asp.net,forms-authentication,Asp.net,Forms Authentication,我正在为一个允许用户注册但不处于活动状态的应用程序使用表单身份验证。我们将发送一个激活码通过蜗牛邮件(长话短说),用户可以返回该信息并激活他们的帐户 我想创建一个页面,用户可以返回并输入用户名、密码和生成的密钥来激活帐户。我已将密钥存储在另一个表中,并计划生成它。我无法使用非活动帐户验证用户名和密码。我尝试了Membership.ValidateUser(用户名、密码),但失败了,但如果我激活了该帐户,它就可以工作了 如何检查此项的想法?首先激活帐户 如果您在电子邮件中向他们发送激活码,请创建一

我正在为一个允许用户注册但不处于活动状态的应用程序使用表单身份验证。我们将发送一个激活码通过蜗牛邮件(长话短说),用户可以返回该信息并激活他们的帐户

我想创建一个页面,用户可以返回并输入用户名、密码和生成的密钥来激活帐户。我已将密钥存储在另一个表中,并计划生成它。我无法使用非活动帐户验证用户名和密码。我尝试了Membership.ValidateUser(用户名、密码),但失败了,但如果我激活了该帐户,它就可以工作了


如何检查此项的想法?

首先激活帐户

如果您在电子邮件中向他们发送激活码,请创建一个匿名访问页面,该页面接收来自电子邮件的激活码(可能通过querystring),激活帐户,并将他们重定向到已激活表单验证的登录页面(假设已创建用户名和密码)


如果访问代码无效且失败,您可以选择停用该帐户。

我不会将IsActive设置为false。这是为了禁用帐户,防止任何类型的登录。相反,我看不出让他们能够登录的问题。我将使用成员角色来指定何时验证用户。即“已验证”

如果他们没有激活帐户并尝试登录,您只需检查他们是否具有已验证的角色。如果没有,请将其重定向到“您的帐户尚未激活。请等待邮件”页面。或“请在下面输入您的验证码”消息

当他们最终从snail mail中输入正确的验证代码时,您只需将他们添加到已验证的角色中

这使您可以控制允许他们登录并“检查”其帐户的状态。并且,解决您的问题