1

我希望這個答案和我想的一樣直截了當。我只是想確定。所以,我有一個使用Forms身份驗證的ASP.NET MVC4應用程序。我有一個由Arvixe託管的數據庫,其中包含aspnet_成員資格表。這是我在我的web.config中的連接字符串中指定的數據庫。所以,當我點擊我的應用程序的Login.cshtml頁面,並且將我的憑據放入時,它是否對我在web.config中指定的數據庫中的數據進行身份驗證?ASP.NET MVC4表單身份驗證 - 如何判斷用戶身份驗證時我的應用正在查找哪個數據庫?

引發這個問題的是我通過My​​WSAT(允許管理用戶帳戶,角色等的第三方網站管理工具)在我的數據庫中設置用戶。我已經確認用戶現在被添加到aspnet_Membership和aspnet_User表(以及任何其他表)中。但是,當我嘗試從我的應用程序使用這些憑據登錄時,它在我的AccountController中的Membership.ValidateUser上失敗。它回來說無效的用戶名/密碼。關於我可能做錯什麼的想法?

這裏是我的成員資格提供:

<membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15"> 
    <providers> 
    <add 
     name="SqlMembershipProvider" 
     type="System.Web.Security.SqlMembershipProvider" 
     connectionStringName="DefaultConnection" 
     applicationName="/" 
     enablePasswordRetrieval="true" 
     enablePasswordReset="true" 
     maxInvalidPasswordAttempts="5" 
     requiresQuestionAndAnswer="true" 
     requiresUniqueEmail="true" 
     passwordFormat="Encrypted" /> 
    </providers> 
</membership> 
+0

您是否考慮添加''標籤以確保此提供者規範是唯一使用的規範? – 2013-04-05 16:23:21

+0

我做到了這一點,同樣的問題.. :( – 2013-04-05 16:29:21

回答

1

問題是我的應用程序名稱需要是「MyCMS」而不是空白。當我使用MyWSAT工具設置用戶帳戶時,我最初將管理員帳戶設置在MyWSAT項目(ASP.NET配置網站)中的WSAT工具下,並且與此關聯的應用程序名稱爲MyCMS。

+0

以下博客文章[**問題與鏈接** - 請參閱_ScottGu_'始終設置applicationName'博客文章]描述此問題以及查看數據庫表以查看症狀的一些方法。 – 2013-04-05 16:38:42

1

你看 「的connectionStringName」 下面?這會命名它使用的連接字符串。因此,查看您的web.config並找到名爲「DefaultConnection」的連接字符串,並確保它指向正確的數據庫或將connectionStringName更改爲指向正確的連接字符串。

<membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15"> 
    <providers> 
    <add 
     name="SqlMembershipProvider" 
     type="System.Web.Security.SqlMembershipProvider" 
     connectionStringName="DefaultConnection" 
     applicationName="/" 
     enablePasswordRetrieval="true" 
     enablePasswordReset="true" 
     maxInvalidPasswordAttempts="5" 
     requiresQuestionAndAnswer="true" 
     requiresUniqueEmail="true" 
     passwordFormat="Encrypted" /> 
    </providers> 
</membership> 
+0

是的,我知道...這是我99%肯定的,但我只是想一些reassurance。現在,問題仍然存在,爲什麼不是我的應用程序 – 2013-04-05 16:24:30

+0

你是否有這樣的代碼?if(Membership.ValidateUser(username,password))。你能在這一行中插入一個斷點並加入? – Flavia 2013-04-05 16:34:50