Sql-Server

WebUser 的 SQL Server 2005 DB 需要什麼權限?

  • September 28, 2011

我的 asp.net 程式碼中有一個連接字元串,用於查看 SQL Server 2005 數據庫。我創建了一個名為 WebUser 的使用者名,並在 SQL Server 2005 中授予他 db_datawriter 和 db_datareader。無論是在登錄下還是在數據庫下,使用者都必須能夠閱讀並能夠進行更新?這是我所需要的還是正確的做法?

連接字元串將如下所示。

<add name="ConnectionStringName" connectionString="DataSource=localhost;
Initial Catalog=DBName;User ID=WebUser; Password=mypassword; 
Integrated Security=FALSE" 
providerName="System.Data.SqlClient"/>
</connectionStrings>

如果您希望冒著被黑客下載或刪除數據庫的風險,那麼您需要做的就是這樣做。

如果您希望您的數據庫免受各種攻擊,那麼您需要創建儲存過程來處理數據庫中所有數據的插入、更新和刪除,然後呼叫這些儲存過程而不是訪問表直接地。

然後從 db_datareader 和 db_datawriter 固定數據庫角色中刪除使用者。創建一個新角色(您可以隨意稱呼它)並使您的使用者成為該角色的成員。然後授予該角色對數據庫中所有儲存過程的執行權限。授予角色(或使用者)訪問以執行儲存過程的程式碼是:

GRANT EXEC ON {ProcedureName} TO {User Or Role Name}

引用自:https://serverfault.com/questions/50248