即時通訊使用共享託管公司承載我的網站和數據庫。 他們都被託管在同一臺服務器上。避免給用戶名/傳入連接字符串
訪問數據庫我目前在web配置中的連接字符串中提供userid和密碼。
這只是讓我真的很不舒服。
有沒有我的方式來避免給web.config連接字符串userid /通過?
即時通訊使用共享託管公司承載我的網站和數據庫。 他們都被託管在同一臺服務器上。避免給用戶名/傳入連接字符串
訪問數據庫我目前在web配置中的連接字符串中提供userid和密碼。
這只是讓我真的很不舒服。
有沒有我的方式來避免給web.config連接字符串userid /通過?
您可以切換到OS認證:
數據源= myServerAddress;初始 目錄= MyDatabase的;集成 安全性= SSPI;
在這種情況下授予數據庫訪問您的網站運行的帳戶。或者,在web.config中只需要encrypt your connectionStrings section。
更新: 我不知道這是如何發生在託管環境(主機供應商應該有一些FAQ),但如果你的服務器專用一個,你有你的SQL Server上的管理privilegies你可以這樣做
create login [NT AUTHORITY\NETWORK SERVICE] from windows
create user [NT AUTHORITY\NETWORK SERVICE] for login [NT AUTHORITY\NETWORK SERVICE]
exec sp_addrolemember 'db_datareader',[NT AUTHORITY\NETWORK SERVICE]
要授予訪問權限的帳戶是在IIS中運行的應用程序池。 NetworkService是IIS 6.0的默認設置,但如果共享服務器,則可能有一個自定義帳戶(授予對共享服務器上的NetworkService的訪問權限,可以將您的數據庫暴露給在NetworkAccount下運行的任何服務)。
我該如何授予數據庫訪問權限?加密/解密影響性能? – raklos 2011-03-28 14:55:07
raklos,我已經更新瞭如何授予訪問IIS工作帳戶的答案。至於加密/解密性能,我在實踐中沒有看到明顯的差異。據我瞭解,只有當運行時實例化應用程序域時纔會發生一次。 – UserControl 2011-03-28 21:25:45