2013-03-06 62 views

回答

3

您不需要這樣做,您可以使用模擬連接到使用客戶端登錄的用戶的SQL服務器。

如果您在IIS中配置應用程序以要求Windows身份驗證,然後在連接字符串中使用Integrated Security=true; - 那麼當您從ASP.Net應用程序中訪問數據庫時,您將獲得登錄用戶的權限。

+0

應用程序需要輸入任何登錄憑據嗎?這個應用程序池的標識是什麼? – James123 2013-03-06 16:49:59

+0

@ James123是的,在這種情況下,您需要從IIS登錄,以便用戶通過他的憑證。但是,您通常可以在公司局域網中配置您單一登錄的客戶端,在Intranet區域中傳遞您的用戶名/密碼。 – YvesR 2013-03-06 16:52:56

+0

應該有一個「模仿」身份。用戶在訪問該網站時會被提示輸入他們的登錄信息(或者他們使用Internet Explorer,它在某些情況下會自動使用登錄用戶的憑證) – PhonicUK 2013-03-06 16:53:29

1

不可以。您不能在SQL連接字符串中指定Windows帳戶憑據。您只能指定SQL連接將使用集成安全性,並且將執行代碼的任何人(應用程序池標識)。

另一種方法是使用模擬。根據您的應用程序,您可以在IIS中設置該值(導致所有代碼都在經過身份驗證的用戶的權限下執行),或者使用用戶名和密碼在代碼中手動模擬用戶,如WindowsIdentity.Impersonate MSDN頁面上所示。

相關問題