【问题标题】:What is the best way to implement a 'Forgot your Password?' page?实现“忘记密码”的最佳方法是什么?页?
【发布时间】:2009-02-27 15:15:57
【问题描述】:

我正在使用 ASP .NET 2.0 中的成员资格功能。我想知道当我的应用程序配置为仅允许经过身份验证的用户时,我将如何实现忘记密码页面。现在唯一可以访问的页面是登录页面。我希望未经授权的用户也被允许访问忘记密码页面。我的网络配置如下:

  <authentication mode="Forms">
      <forms loginUrl="~/Authentication/Login.aspx"/>
     </authentication>
  <authorization>
      <deny users="?" />
      <allow users="*" />
  </authorization>

【问题讨论】:

    标签: .net asp.net web-config membership


    【解决方案1】:

    为您的 ForgotPassword.aspx 页面添加规则

       <location path="ForgotPassword.aspx">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>    
      </location>
    

    【讨论】:

    • 相当令人困惑的是,此部分与 system.web 部分处于同一级别。
    【解决方案2】:

    将以下内容添加到您的 web.config 以允许未经身份验证的用户访问密码恢复页面:

      <location path="RecoverPassword.aspx">
        <system.web>
          <authorization>
            <allow users="?" />
          </authorization>
        </system.web>
      </location>
    

    【讨论】:

      【解决方案3】:

      为什么不设置您的 ~/Authentication/Login.aspx 页面来处理基于获取请求的忘记密码,例如

      http://[host]/Authentication/Login.aspx?recoverpw=true

      这将使您的 web.config 保持简单并将相似的代码组合在同一页面中

      【讨论】:

        猜你喜欢
        • 2010-10-06
        • 2012-11-30
        • 2013-12-22
        • 2010-12-31
        • 2011-05-20
        • 2015-11-04
        • 2012-03-28
        • 2016-09-13
        • 2011-07-16
        相关资源
        最近更新 更多