我使用Visual Web Developer 2010 Express創建了一個小型Web應用程序。在我部署了我的網站並轉到第一頁,即提供應用程序用戶列表的登錄頁面後,出現此錯誤:Membership.GetAllUsers()System.Data.SqlClient.SqlException:用戶沒有執行此操作的權限
異常詳細信息:System.Data.SqlClient.SqlException:用戶沒有有權執行此操作。
源錯誤:
Line 22: public ActionResult LogOn()
Line 23: {
Line 24: var users = Membership.GetAllUsers().Cast<MembershipUser>().ToList();
Line 25: SelectList usernames = new SelectList(users);
Line 26: ViewBag.UserNames = usernames;
這裏是我的ConnectionStrings設置:
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
爲什麼發生這個錯誤?任何幫助深表感謝。我目前正在Windows 2008 Server上開發它,並在同一臺機器上測試它的部署。
這聽起來像您的連接字符串指定的用戶沒有權限從users表中進行選擇。 – 2013-04-10 20:38:13
@JeremyHolovacs我正在開發和測試同一臺機器上的部署。當我在Visual Web Developer中調試它時,它工作正常。我需要用SQL Server Express來獲得許可才能工作? – massaskillz 2013-04-10 20:54:39
您使用SSPI(可信連接)嗎?我將在您的應用程序服務數據庫上創建一個具有讀/寫訪問權限的Sql User帳戶,並在連接字符串中使用該憑證。 – 2013-04-10 20:56:13