請注意,如果您使用匿名身份驗證,這將基於您的asp應用程序池的身份驗證命中SQL。
我看到你添加了一條評論,注意到IIS 5,通過轉到站點屬性,選擇「目錄安全性」選項卡,然後單擊「編輯」按鈕,可以在ISS5上設置站點以使用Windows身份驗證在「匿名訪問和身份驗證控制」部分。禁用匿名身份驗證並勾選「集成Windows安全」選項。
(注:Web服務器將需要能夠進行身份驗證憑據,所以你可能會碰到NTLM和Kerberos問題,根據您的域配置 - 謹慎行事!)
這應該執行ASP文件作爲經過身份驗證的用戶,在這種情況下,您的連接字符串將能夠使用受信任的連接。
這裏有幾個選擇取決於您可以使用哪些提供者。
例如,與SQL Native Client的9.0 OLE DB提供程序,您可以使用:
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
Native Client的10略有不同:
Provider=SQLNCLI10;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
我更喜歡SQLOLEDB提供商(IVE遇到了麻煩與SQL SERVER驅動程序和VARCHAR(MAX)在過去):
Provider=SQLOLEDB;Data Source=Your_Server_Name;Initial Catalog=myDataBase;Integrated Security=SSPI;
注意:突然更改身份驗證可能會破壞其他的東西 - 我當然只是建議在SQL服務器上添加一個SQL憑據,並在連接字符串中使用它。
您是否也在使用集成安全認證網站的用戶或者是匿名用戶帳戶下運行的網站? – AnthonyWJones 2012-02-29 14:20:49
我有一個問題:我在本地IIS上測試它,我想它使用不允許訪問數據庫的ASP.NET帳戶。你能告訴我如何配置我的IIS或虛擬的dicrectory使用我自己的帳戶(我用於登錄到Windows)?本地IIS沒有應用程序池,我不知道如何設置用於數據庫訪問的用戶。 – Roman 2012-02-29 14:32:08
我的IIS版本是5.1(Win XP Pro) – Roman 2012-02-29 14:48:02