2011-09-14 40 views
2

我正在研究ASP.NET 4.0 C#項目。該CreateUserWizard工作正常,但是我建的登錄控件始終顯示此消息:我的ASP.NET 4登錄停止工作...爲什麼?

Your login attempt was not successful. Please try again. 

這開始發生後,我在machine.config中改變了會員和連接字符串設置進行實驗,這是我後來改變默認即:

這裏的連接字符串設置:

<connectionStrings> 
    <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/> 
</connectionStrings> 

,這裏是隸屬部分:

<membership> 
    <providers> 
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/> 
</providers> 
</membership> 

另外,我還通過在每個代碼寫兩行頁面的背後

SqlConnection con = new SqlConnection("data source=.\\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"); 
SqlCommand cmd = new SqlCommand(); 

即使當我完成CreateUserWizard1成功並重定向到改變了我的默認數據庫來存儲我的網站上的數據登錄控件默認的數據,即ASPNEDB.mdf我的homepage.aspx,我使用了asp.net LoginName的默認標籤,標籤顯示爲空白。

如果我手動把Label1Label1.Text = HttpContext.Current.User.Identity.Name;,它仍然無法正常工作。

請你幫幫我。我必須把這個項目展示給我的大學,不僅如此,但我的團隊將因我的EXPERIMENT而失敗。

+0

如果我理解了這個問題,那麼您主要試圖回滾到***的時候。我假設你沒有使用源代碼控制,對嗎? – jadarnel27

+0

@ jadamel27:接受14個問題中的9個,這並不壞。 OP可能有懸而未決的懸而未決的問題。 –

+0

@ jadamel27對不起,先生,AA其實我對我沒有接受的答案並不滿意 –

回答

2

這裏有幾個潛在的問題:

  1. 您在web.config中改變了的machineKey。如果是這樣,請將其改回。如果無法更改,請刪除表格中的所有用戶並重新創建它們。您正在使用單向散列算法,該算法需要機器鍵對輸入的密碼進行散列以進行比較。

  2. 您對連接字符串進行了更改。你確定數據庫中甚至有用戶記錄嗎?接下來,您是否碰巧刪除/重新創建數據庫?如果是這樣,那些用戶不在了。見#1。

更重要的是,很明顯,你沒有把所有東西都放回原樣。

那麼,爲什麼你登錄失敗?可能的選項有:

  1. 正在訪問的數據庫不是您認爲的數據庫。
  2. 用戶確實不存在於其查看的數據庫中。
  3. 用戶確實存在,但您提供的密碼不正確。
  4. 用戶存在且密碼正確,但機器密鑰已更改,因此係統無法正確地對其進行散列。

基本上可能是重新開始清理數據庫並重新添加用戶的時候了。

+0

謝謝你克里斯...它工作... Yippee! –

+0

+1用於檢查連接字符串,在我的情況下,我在環境之間使用了錯誤的數據庫名稱:/ –