我正在使用LinqToSQL和可信連接來處理數據庫選擇/更新/插入/刪除。在過去,我一直使用存儲過程,並且只授予對數據庫中特定存儲過程的應用程序池標識的執行權限。這是我的第一個LinqToSql項目(我真的很喜歡它有多大幫助)。我不希望授予應用程序池標識的dbo訪問權限以使LinqToSql正常工作(但如果建議那麼我不介意)。我可以授予應用程序池標識什麼類型的權限,以便LinqToSql具有最低權限?或者我應該只使用dbo權限並完成它?SQL Server用戶應授予LinqToSql什麼權限?
按照KristoferA's answer這是我授予數據庫的應用程序池標識的權限:
EXEC sp_addrolemember 'db_datareader', 'app_pool_identity'
EXEC sp_addrolemember 'db_datawriter', 'app_pool_identity'
不完全一樣的安全級別爲只授予執行權限所需的存儲過程,但我考慮到我剛剛通過使用Linq2SQL獲得的巨大發展收益,它非常好。這比授予完整的dbo訪問要好。