【问题标题】:Forms Authentication - How to verify username and pwd of inactive user?表单身份验证 - 如何验证非活动用户的用户名和密码?
【发布时间】:2009-03-30 16:39:41
【问题描述】:

我正在为允许用户注册但未激活的应用程序使用表单身份验证。我们将通过蜗牛邮件发送激活码(长篇故事),用户可以返回该信息并激活他们的帐户。

我想创建一个页面,用户可以返回并输入他们的用户名、密码和生成的密钥来激活帐户。我存储在另一个表中的密钥,我计划生成它。我在使用非活动帐户验证用户名和密码时遇到问题。我试过 Membership.ValidateUser(username,password) 但它失败了,但如果我激活帐户,它就可以工作。

关于如何检查的想法?

【问题讨论】:

    标签: asp.net forms-authentication


    【解决方案1】:

    先激活账户。

    如果您通过电子邮件向他们发送激活码,请有一个匿名访问页面,该页面从电子邮件中接收激活码(可能通过查询字符串),激活帐户,并将他们重定向到激活表单身份验证的登录页面(假设用户名和密码已经创建)。

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

    【讨论】:

      【解决方案2】:

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

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

      当他们最终从蜗牛邮件中输入正确的验证码时,您只需将他们添加到已验证角色。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-31
        • 1970-01-01
        • 2018-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多