[英]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中指定的數據庫中的數據進行身份驗證?
帶來此問題的原因是,我通過MyWSAT(允許管理用戶帳戶,角色等的第三方網站管理工具)在數據庫中建立了用戶。 我已經確認用戶現在已添加到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.