2012-10-17 102 views
2

我的問題如下。我有一個網站,我正在創建並希望使用表單身份驗證。除了現在已經增加了將用戶保存到數據庫的可能性以外,一切都很好。我已經將數據庫添加到Visual Studio的AppData文件夾(創建一個)。但每次用戶試圖創建一個新帳戶(在我的網站),我得到的,看起來像這樣(在調試中)的錯誤:無法通過VS 2010/2012連接到本地數據庫

登錄失敗,用戶「域\用戶名」

我連接字符串如下:

<connectionStrings> 
    <add name="SecurityConnectionString" 
     connectionString="Data Source=(computername)\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Security.mdf;Integrated Security=True;User Instance=true" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

奇怪的是,我可以連接到SQL管理工作室與我的Windows登錄沒有問題。我試圖創建一個新用戶(在SQL中)並使用這些憑據,但仍然沒有運氣(即使我已授予用戶db_owner權限,但用戶無法創建新數據庫也會出錯)。任何洞察力將不勝感激。提前致謝。

具體是這樣的錯誤,我得到

[SqlException (0x80131904): Login failed for user 'DOMAIN\username'.]

UPDATE:

我發現了一些東西。每當我在SQL Server Management Studio上將「Windows身份驗證」更改爲「SQL Server身份驗證」時,即使使用正確的密碼和用戶名,我也無法登錄。這可能(很可能)是我相信問題的根源。

+1

你在本地IIS下運行嗎? – mattytommo

+0

我很新的編程,所以忍受我和我的答案。我確實安裝了IIS 7的一個實例,但每當我調試時出現錯誤。 – Jose

+0

你不需要db_owner權限來插入一行。您不希望用戶創建新的數據庫。在Visual Studio中,您正在登錄時運行。在瀏覽器中,您正在ASP.NET應用程序的權限下運行。當你說你添加了一個用戶 - 什麼用戶? – Paparazzi

回答

1

我找到了解決方案。只需創建一個新用戶(在SQL Server身份驗證下),然後使用我的Windows身份驗證憑證通過SQL向該用戶添加管理員權限,即創建了一個用戶,然後授予該用戶管理員權限。這似乎很簡單,我遇到的問題如下:

據我瞭解,如果您有權訪問SQL數據庫(無論使用哪種身份驗證模式)並且您擁有該數據庫的管理權限,則可以執行任何操作你想要它。但是,似乎並非如此,因爲使用SQL Server身份驗證時未驗證我的'DOMAIN \ username'憑據,也就是說,我沒有管理員權限。

總之,創建新用戶後,修改連接字符串,我設法能夠寫/讀/任何東西到數據庫。

我很感謝大家在這個問題上的幫助。謝謝。

0

在連接字符串(computername)應該是localhost或任何您的計算機的名稱是。除非您目前正在使用(computername)作爲此帖的佔位符。

+1

它是一個佔位符 – Jose

相關問題