感謝您的任何想法。此問題涉及ASP.NET 4.0 Web應用程序。asp.net datasource detailsview和CRUD權限
DetailsView然後使用ObjectDataSource(儘管任何解決方案應該適用於任何ASP.NET數據源控件)用於CRUD操作。
用戶有權查看所有記錄的詳細信息,但只能創建或修改與自己部門相關的單個記錄。
很明顯,我可以很容易地修改列表視圖來顯示/刪除相應的按鈕
if (!_canModifySelectedWard)
{
dptDetailView.AutoGenerateEditButton = false;
dptDetailView.AutoGenerateInsertButton = false;
dptDetailView.AutoGenerateDeleteButton = false;
}
但這只是刪除按鈕。有沒有簡單的方法來禁用編輯/插入/刪除功能?我認爲一旦用戶有權訪問此頁面,惡意請求就不太可能發生,但似乎更好的做法是刪除功能,而不僅僅是UI元素。
我可以將關聯的objectdatasource的InsertMethod等設置爲null,但這幾乎看起來像一個黑客。
查看Sql Server中的應用程序角色和安全性。根本不給CUD權限的基礎表是另一個,並通過存儲過程進行更新將是另一個 –