解決連接問題的另一種方法是在IIS中啟用SQL Server驗證,然後再連接字符串中使用用戶ID與密碼;或是當ASP.NET應
用程序以另一個Windows用戶而非ASPNET運行時,使用ASP.NET impersonation方法。
為了使ASPNET帳戶可以訪問ASP.NET應用程序的數據庫,需要完成以下步驟:
1)啟動SQL Server Management Studio,指定SQL Server實例名,以Windows驗證模式登錄。
2)用grantlogin存儲過程把Windows的用戶添加到SQL Server數據庫中。這個命理將賦予ASPNET帳戶連
接SQL Server的權限。注意要用本機的主機名代替命令中的MachineName。
Exec sp_grantlogin 'MachineName\ASPNET'
3)在為ASPNET帳戶賦予了鏈接SQL Server的權限後,還需要為其賦予訪問ASP.NET應用程序的數據庫的
權限。注意要用ASP.NET應用程序的數據庫的名字代替DateBaseName:
USE DateBaseName
Exec sp_grantdbaccess 'MachineName\ASPNET'
4)最後,需要賦予ASPNET訪問ASP.NET應用程序的數據庫內部對象的權限,如執行存儲過程,讀取和
修改表等。最簡單的方法是為ASPNET帳戶分配一個ASP.NET應用程序的數據庫的db_owner角色。如果前面的步驟
中已經連接到了ASP.NET應用程序的數據庫,輸入下面的命令:
Exec sp_addrolemember 'db_owner','achineName\ASPNET'
現在你就可以從Web應用程序以Windows驗證模式連接數據庫了。