簡體   English   中英

ASP.NET MVC4表單身份驗證-在對用戶進行身份驗證時,如何知道我的應用程序正在尋找哪個數據庫?

[英]ASP.NET MVC4 Forms Authentication - how can I tell which database my app is looking to when authenticating users?

我希望這個答案能像我想的那樣簡單明了。 我只是想確定一下。 因此,我有一個使用Forms身份驗證的ASP.NET MVC4應用程序。 我有一個由Arvixe托管的數據庫,其中包含aspnet_成員資格表。 這是我在web.config的連接字符串中指定的數據庫。 因此,當我點擊應用程序的Login.cshtml頁面並放入憑據時,它是否可以根據我在web.config中指定的數據庫中的數據進行身份驗證?

帶來此問題的原因是,我通過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>

您在下面看到“ 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>

問題是我的應用程序名稱需要為“ MyCMS”,而不僅僅是空白。 通過MyWSAT工具設置用戶帳戶時,最初是在MyWSAT項目(ASP.NET配置網站)中的WSAT工具下設置了管理員帳戶,與此相關的應用程序名稱為MyCMS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM