我們正在開發一個新系統的服務層,該系統將處理與MSSQL(2005)數據庫的所有交互。我們對如何捕捉用戶在我們的某些舊版審計表中所需的所有「誰完成」信息有點困惑。雖然我們可以傳入正在修改數據並記錄調用的用戶名,但我們有一些傳統表,我們將使用這些表,它們具有觸發器來捕獲記錄插入,更新和刪除操作中的system_user。如果可能的話,我們還會在某些地方爭取一些行級別的安全性,我們也希望在不更改代碼的情況下利用它們。我讀過一些正在使用contextinfo來存儲用戶,但在這種情況下,這似乎有點不安全。在中間層使用實體框架時,我們應該如何捕獲數據庫用戶?
的選項,我最喜歡的是,使用在每個存儲過程調用的基礎上執行爲用戶
execute sp_myproc @foo as user = 'username'
,我們正在運行到的問題是,實體框架內它不會出現成爲可能將execute命令添加到存儲過程調用中。
感謝任何輸入。
您對proc調用完全正確。當我輸入我的樣本時,我錯過了我的文字引語。雖然國際海事組織將是一個很好的特點。 – 2010-08-16 16:52:37