我正在为允许用户注册但未激活的应用使用表单身份验证。我们将通过蜗牛邮件(长篇故事)发送激活码,用户可以返回该信息并激活他们的帐户。
我想创建一个页面,用户可以返回该页面并输入用户名,密码和生成的密钥来激活帐户。我存储在另一个表中的密钥,我计划生成它。我在使用非活动帐户验证用户名和密码时遇到问题。我已经尝试过Membership.ValidateUser(用户名,密码)但它失败但是如果我激活了帐户,它就可以了。
关于如何检查这个的想法?
答案 0 :(得分:2)
首先激活帐户。
如果您要在电子邮件中向他们发送激活码,请使用匿名访问页面从电子邮件中接收激活码(可能通过查询字符串),激活帐户,然后将其重定向到激活表单身份验证的登录页面(假设已经创建了用户名和密码。)
如果访问代码无效且失败,您可以选择停用该帐户。
答案 1 :(得分:1)
我不会设置IsActive = false。这是为了禁用帐户,阻止任何类型的登录。相反,我没有看到让他们具有登录能力的问题。我会使用成员资格角色来指定用户何时被验证。即“已验证”。
如果他们尚未激活帐户并尝试登录,您只需检查他们是否具有“已验证”角色即可。如果没有,请将它们重定向到“您的帐户尚未激活。请等待蜗牛邮件”页面。或者“请在下面输入您的验证码”。消息。
当他们最终从蜗牛邮件中输入正确的验证码时,您只需将它们添加到验证角色即可。
这使您可以控制他们登录并“检查”其帐户的状态。并解决您的IsActive问题。