2010-05-21 324 views
0

我使用數據訪問層的dbml來提供我需要的數據。 當我從服務器瀏覽器連接一切似乎很好。我選擇使用Windows身份驗證,連接測試顯示一切正常。當我構建我的解決方案並在我的IIS上運行時,它表示我使用的登錄不起作用。 如何解決這個問題?SqlException:用戶登錄失敗

回答

2

網站將使用網站應用程序池的身份登錄到SQL Server,您必須授予該用戶(通常爲網絡服務)對數據庫的訪問權限。

+0

Thx!爲了您的評論! – Younes 2010-05-21 14:20:06

+0

或者創建另一個用戶,授予用戶訪問Sql數據庫的權限。然後使用此用戶運行網站的應用程序池。 – 2010-05-21 14:21:58

0

您是否在web.config中定義了適當的連接字符串?

1

當您嘗試從服務器資源管理器連接並選擇Windows身份驗證時,它使用當前登錄的用戶向sql-server進行身份驗證。您必須登錄爲本地系統管理員,因此它允許您使用Windows身份驗證。

但是,當你通過運行應用程序IIS,並嘗試使用Windows身份驗證它使用本地系統aspnet_user帳戶來驗證它必須沒有權限訪問你的數據庫進行身份驗證。您需要授權aspnet_user訪問您的數據庫,它將工作。

一個推薦的做法是不使用Windows身份驗證 認證 但使用SQL Server身份驗證 將在每一個環境中工作。