簡體   English   中英

ASP.NET MVC4簡單成員身份不起作用

[英]ASP.NET MVC4 simple membership doesn't work

我有一個MVC4應用程序,該應用程序使用SQL Server來存儲數據。 我也有簡單的成員資格提供程序,它的表存儲在相同的數據庫中,並且都使用相同的連接字符串:

<connectionStrings><add name="bazaConnectionString" connectionString="DataSource=WINSERVER;Initial Catalog=baza;Persist Security Info=True;User ID=visualstudio;Password=xxx" providerName="System.Data.SqlClient" />

當我在Visual Studio中測試該應用程序時,一切正常,但是當我發布該項目並將其附加到IIS8網絡服務器(與sql服務器位於同一台計算機上)時,簡單的成員身份不起作用。

首先,我認為連接字符串有問題,但是使用它的應用程序中的其他功能正常工作。 但是,一旦我單擊使用諸如“登錄”之類的成員資格的內容,就會出現錯誤:

  • WinException 0x80004005找不到文件SqlException 0x80131904
  • 與網絡相關或特定於實例的錯誤

任何人都可以幫我這個忙,否則我想我將不得不將自己的用戶授權邏輯寫入每個控制器中。

更新:嘗試了幾件事之后,似乎問題出在[Authorize]屬性和Visual Studio生成的accountController上。 因為如果我調用WebSecurity方法(例如Login),則在其他任何地方都可以使用。

最可能的原因是您的應用程序正在使用另一個數據庫來存儲簡單的成員資格信息。

瀏覽計算機上的app_Data文件夾,如果看到在其中創建的.mdf文件,則可以確定為此使用了不同的數據庫。 當asp.net應用程序嘗試在app_Data文件夾中搜索要附加的localdb文件但找不到該文件時,就會出現此問題。 在這種情況下,將簡單成員資格提供程序重新配置為使用給定的連接字符串。

此外,還請確保您沒有使用asp.net配置工具來創建用戶和角色,因為如果未指定任何數據庫,它將始終創建一個localdb。

暫無
暫無

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

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