Asp .Net密码恢复新密码不起作用

时间:2013-06-24 01:25:15

标签: asp.net sql-server-ce password-recovery

我正在使用示例开发的网站上实施密码恢复页面。我设置了页面,因此它使用新密码向用户发送电子邮件,这很棒。密码是哈希的,所以我当然看不到数据库中的内容。

好吧,新密码不起作用。哈哈。在这个问题上工作超过两个小时,需要转移到项目的另一个方面。还有其他人有这个问题吗?

<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RecoverPassword.aspx.cs" Inherits="RecoverPassword" Title="Untitled Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
    <h2>Recover Your Password</h2>
    <p>
        <asp:PasswordRecovery ID="RecoverPwd" runat="server" 
            onsendingmail="RecoverPwd_SendingMail">
            <MailDefinition BodyFileName="~/EmailTemplates/PasswordRecovery.txt" 
                Subject="Your password has been reset...">
            </MailDefinition>
        </asp:PasswordRecovery>
    </p>
</asp:Content>

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class RecoverPassword : System.Web.UI.Page
{
    protected void RecoverPwd_SendingMail(object sender, MailMessageEventArgs e)
    {
        e.Message.CC.Add("dwayne.jarman@fda.hhs.gov");
    }
}

<membership defaultProvider="DefaultMembershipProvider">
  <providers>
    <add name="DefaultMembershipProvider" 
         type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXX" 
         connectionStringName="DefaultConnection" 
         enablePasswordRetrieval="false" 
         enablePasswordReset="true" 
         requiresQuestionAndAnswer="false" 
         requiresUniqueEmail="true" 
         maxInvalidPasswordAttempts="5" 
         minRequiredPasswordLength="6" 
         minRequiredNonalphanumericCharacters="0" 
         passwordAttemptWindow="10" 
         applicationName="/"/>
  </providers>
</membership>

2 个答案:

答案 0 :(得分:0)

可能是ApplicationName与用于创建用户的ApplicationName不同。看一下aspnet_Users和aspnet_Application表来检查。

答案 1 :(得分:0)

确保数据库中的格式是散列的(1),您可以在aspnet_Membership和“PasswrodFormat”中找到它。

另请尝试在您的会员资格设置中包含此属性,passwordFormat =“Hashed”。